Bạn cần sử dụng toán tử $ positional
Ví dụ:
update({
_id: 7,
"comments._id": ObjectId("4da4e7d1590295d4eb81c0c7")
},{
$set: {"comments.$.type": abc}
}, false, true
);
Tôi đã không kiểm tra nó nhưng tôi hy vọng rằng nó sẽ hữu ích cho bạn.
Nếu bạn muốn thay đổi cấu trúc của tài liệu bạn cần sử dụng
db.collection.update (tiêu chí, objNew, upert, multi)
Lập luận:
Các tiêu chícriteria - query which selects the record to update; objNew - updated object or $ operators (e.g., $inc) which manipulate the object upsert - if this should be an "upsert"; that is, if the record does not exist, nsert it multi - if all documents matching criteria should be updated
và chèn thêm objNew mới với cấu trúc mới. kiểm tra điều này để biết thêm chi tiết