sql >> Base de Datos >  >> NoSQL >> MongoDB

Insertar elemento en matrices anidadas en MongoDB

Dos posibilidades aquí:

  1. Dado que no tiene un identificador único para los comentarios, la única forma de actualizar un elemento específico en la matriz de comentarios es indicar explícitamente el índice que está actualizando, así:

    db.documents.update(
      { _id: "iL9hL2hLauoSimtkM"},
      { $push: { "comments.0.likes": "userID3" }}
    );
    
  2. Si agrega un identificador único para los comentarios, puede buscarlo y actualizar el elemento coincidente, sin preocuparse por el índice:

    db.documents.update(
      { _id: "iL9hL2hLauoSimtkM", "comments._id": "id1"},
      { $push: { "comments.$.likes": "userID3" }}
    );