我有这样一种数据结构:
我们有一些“中心”。一个“中心”有一些“交换机”。一个“交换机”有一些“端口”。
我们有一些“中心”。一个“中心”有一些“交换机”。一个“交换机”有一些“端口”。
{
"_id" : ObjectId("561ad881755a021904c00fb5"),
"Name" : "center1",
"Switches" : [
{
"Ports" : [
{
"PortNumber" : 2,
"Status" : "Empty"
},
{
"PortNumber" : 5,
"Status" : "Used"
},
{
"PortNumber" : 7,
"Status" : "Used"
}
]
}
]
}
我只想编写一个更新查询来更改端口的状态,使其PortNumber
为5时变为“空”。
当我知道端口的数组索引(这里数组索引为1)时,我可以使用以下查询进行更新:
db.colection.update(
// query
{
_id: ObjectId("561ad881755a021904c00fb5")
},
// update
{
$set : { "Switches.0.Ports.1.Status" : "Empty" }
}
);
但我不知道那个端口的数组索引。
谢谢帮忙。