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

MongoDB-Positionsoperator $

Leider ist es jetzt nicht möglich, alle Dokumente im Array zu aktualisieren - siehe MongoDB JIRA-Ticket Use positional operator to update all Elemente in einem Array .

Sie können jedes Dokument manuell aktualisieren:

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 }});
});