MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

In Array des Objekts MongoDB einfügen

Wenn ich Ihre Frage richtig verstanden habe, möchten Sie mit name übereinstimmen Feld mit we Schlüssel und aktualisieren Sie arr nur wenn es existiert ?, müssen Sie elemMatch verwenden, andernfalls erhalten Sie das richtige Dokument

db.test.update({ list: { $elemMatch: { name: "We" , arr: { $nin: [ "valuette" ] }} } }, {  $push: { "list.$.arr": "valuette" } } );

das $ in "list.$.arr" stimmt mit dem angegebenen Index überein, der mit name übereinstimmt Feld mit we Wert

Update:um die OP-Frage zu beantworten