Eine Frage, wenn ich alle Dokumente in einem Dokument eingebettet aktualisieren möchten, wie könnte ich tun? weil, wenn Sie den folgenden BefehlUpdate-Array von Dokument eingebettet
.update({'sites':{$elemMatch:{'status':true}}},{$set:{'sites.$.status': false}},{multi:true})
nur das erste gefundene eingebettete Dokument aktualisiert
Dokumente Beispiel auszuführen:
{
'_id': 1,
sites: [
{'status':true,'url':'http://google.com'},
{'status':true,'url':'https://university.mongodb.com'},
{'status':true,'url':'https://docs.mongodb.org'}
]}
Es ist momentan nicht möglich. Sie können die Problemumgehung hier lesen: [Wie man mehrere Array-Elemente in mongodb aktualisiert] (http://stackoverflow.com/questions/4669178/how-to-update-multiple-array-elements-in-mongodb). Es gibt ein offenes Problem in MongoDB für diese Funktion: https://jira.mongodb.org/browse/SERVER-1243 – Bonanza