嗨,我是新來的mongoDB,我有一個訂單集合這樣。正確的查詢更新嵌套元素MongoDB
{
"_id" : ObjectId("11111111111111"),
"stops" : [
{
"_id" : ObjectId("222222222222222"),
"status" : "IN PROGRESS"
},
{
"_id" : ObjectId("33333333333333"),
"status" : "PENDING"
}]
}
我想更新的記錄的停止狀態的順序id = "11111111111111"
和 停止id = "222222222222222"
到處理完畢。
我搜索在德INTERENT與這樣
db.order.update(
{'_id': ObjectId("11111111111111"), 'stops._id': ObjectId("222222222222222")},
$set: {
'stops.$.status': "DONE",
}
);
我的問題是
在它使用'stops._id'
查詢
但是當我們更新字段,它使用'stops.$.status'
查詢想出了這是不正確的,如果我使用'stops.status'
??
我在網上搜索了很多東西,答案和文章讓我感到困惑。
所以任何人都可以解釋我什麼是正確的方式和點符號和$操作符之間的區別。
預先感謝您。