Bạn thường làm điều này bằng toán tử vị trí $
, như được mô tả trong câu trả lời cho câu hỏi này:
Cập nhật trường trong mảng phần tử chính xác trong MongoDB
Thật không may, ngay bây giờ toán tử vị trí chỉ hỗ trợ một mức độ phù hợp sâu của mảng.
Có một vé JIRA cho loại hành vi mà bạn muốn: https://jira.mongodb .org / Browse / SERVER-831
Trong trường hợp bạn có thể thực hiện Switches
vào một đối tượng thay vào đó, bạn có thể làm điều gì đó như sau:
db.colection.update(
{
_id: ObjectId("561ad881755a021904c00fb5"),
"Switch.Ports.PortNumber": 5
},
{
$set: {
"Switch.Ports.$.Status": "Empty"
}
}
)