MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Atualizar array multi aninhado no Mongodb


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

A operação $push deve afetar apenas os links, não a tag.
{$push: {'tags.links': {link: 'http://www.google.com', date: '123'} } },