Chciałbym wykonać wiele aktualizacji na "wartości" poddokumentów, jeśli pola "oid" i "instancja" są zgodne. mogę to zrobić jeden dokument podrzędny na raz, ale czy jest jakiś sposób, aby to zrobić dla wieluDokument pod wieloma zmianami
- To działa na jeden -
db.myTable.update({ "data" : { "$elemMatch" : { "oid" : "1.3.6.1.4.1.111.3.10.2.5.35.3",
"instance" : "0" } },
"$atomic" : "true" },
{ $set: { "data.$.value": "change good" }},
false,
true);
"_id" : 483,
"data" : [{
"oid" : "1.3.6.1.4.1.111.3.10.2.5.35.3",
"instance" : "0",
"value" : "0"
}, {
"oid" : "1.3.6.1.4.1.111.3.999.2.5.2",
"instance" : "0",
"value" : "aaa"
}, {
"oid" : "1.3.6.1.4.1.111.3.30.5.1.1",
"instance" : "0",
"value" : "BBB"
}]}
Może mógłbyś użyć operatora '$ lub' tutaj. –
możliwy duplikat [Zmień całą wartość mojego zagnieżdżonego dokumentu] (http://stackoverflow.com/questions/10662779/change-all-my-documents-nested-document-value) – istepaniuk