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

Aktualisieren Sie das mehrfach verschachtelte Array in Mongodb

Ändern Sie vielleicht Ihre erste Abfrage in:

db.userlinks.update (
    {_id: 1, tags: {$nin: [{tag:'foo'}]}}, 
    {$push: {'tags': {tag:'foo', links:[]}}}, 
    {upsert: true}
)

Die $push-Operation sollte sich nur auf Links auswirken, nicht auf das Tag.

{$push: {'tags.links': {link: 'http://www.google.com', date: '123'} } },