sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Positional Operator $

Tyvärr är det inte möjligt att uppdatera alla dokument i array nu - se MongoDB JIRA-biljett Använd positionsoperator för att uppdatera alla objekt i en array .

Du kan uppdatera varje dokument manuellt:

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



  1. När en mongodb-markör kommer att upphöra

  2. MongoDB-fråga på alla shardade samlingar utan shardkey

  3. Det gick inte att starta/starta lokal mongo db

  4. Uppdatera array med flera villkor i mongodb