我試圖從子數組中刪除數據,但有困難。通過子標識「nModified」從嵌套數組中刪除:0
{
"_id" : "0",
"mainArray" : [
{
"price" : 12,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 1
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 2
}
]
},{
"price" : 45,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 5
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 6
}
]
}
我想輸出是:
{
"_id" : "0",
"mainArray" : [
{
"price" : 12,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 1
},
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 2
}
]
},{
"price" : 45,
"informations" : [
{
"createdBy" : "0x957a1a87d653ea2218742aeea5a05f637b6509c4",
"orderId" : 5
}
]
}
我已經試過這樣:
db.collection.update({ "_id": "0" }, { $pull: { 'mainArray.informations': { "orderId": 6 } } });
和
db.collection.update({ "_id": "0" }, { $pull: { 'mainArray.0.informations': { "orderId": 6 } } });
但兩者不工作,我得到的最好的:
寫結果({ 「nMatched」:1, 「nUpserted」:0, 「n修改」:0})
任何人看到我要去哪裏錯了嗎?
測試你的第二個代碼'db.coll.update({_ id:'0'},{$ pull:{'mainArray.0.informations':{'orderId':6}}})'和結果是 'WriteResult({「nMatched」:1,「nUpserted」:0,「nModified」:1})'在mogno下v3.2.3 – zangw
我繼續得到WriteResult({「nMatched」:1,「nUpserted」: 0,「nModified」:0})我不明白 – jayD