MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Insérer un élément dans des tableaux imbriqués dans MongoDB

Deux possibilités ici :

  1. Puisque vous n'avez pas d'identifiant unique pour les commentaires, la seule façon de mettre à jour un élément spécifique sur le tableau des commentaires est d'indiquer explicitement l'index que vous mettez à jour, comme ceci :

    db.documents.update(
      { _id: "iL9hL2hLauoSimtkM"},
      { $push: { "comments.0.likes": "userID3" }}
    );
    
  2. Si vous ajoutez un identifiant unique pour les commentaires, vous pouvez le rechercher et mettre à jour l'élément correspondant, sans vous soucier de l'index :

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