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

Operador posicional do MongoDB $


Infelizmente, não é possível atualizar todos os documentos na matriz agora - veja o ticket MongoDB JIRA Use o operador posicional para atualizar todos itens em uma matriz .

Você pode atualizar cada documento manualmente:
db.MyDB.find({}).forEach(function(doc) { 
  doc.myArray.forEach(function(item) { 
     if (item.b === true) 
        item.b = false; 
  }); 

  db.MyDB.update({ "_id": doc._id }, { "$set": { "myArray": doc.myArray }});
});