Tôi muốn thực hiện nhiều cập nhật trên trường con "giá trị" phụ nếu trường "oid" và "instance" khớp với nhau. tôi có thể làm điều đó một subdocument tại một thời điểm, nhưng là có một cách để làm điều đó cho nhiềuNhiều tài liệu phụ cập nhật
- này làm việc cho một -
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"
}]}
Có thể bạn có thể sử dụng toán tử '$ hoặc' tại đây. –
có thể trùng lặp của [Thay đổi tất cả tài liệu của tôi giá trị tài liệu lồng nhau] (http://stackoverflow.com/questions/10662779/change-all-my-documents-nested-document-value) – istepaniuk