我有這個以下strtucture拉值 - >數組 - >對象 - >對象蒙戈
{
_id: ".....",
a: {
a1:".......",
b: [
b1: {
b11: "......",
b12: "......",
},
b2: {
b21: "......",
b22: "......",
d: {},
},
c:{
c1: {
......
},
d: {
}
}
]
}
}
在這裏我要檢查,如果財產d
存在與否裏面b
,它可以在多個對象內部存在b
,如果存在,則從記錄中提取d
對象。
注意:有可能是一個機會,財產d
存在多次內部b1
和b2
,在這種情況下,我想從所有對象
我試着像
Coll.find({ 'a.b': { $elemMatch: { 'c': { d: { $exists: true } } } } })
刪除,但它沒有返回任何東西,雖然有記錄,任何幫助表示讚賞。
我想從記錄中提取數據。
謝謝。
UPDATE
Coll.find({ 'a.b.c.d'{ $exists: true } })
是爲我工作,但仍然不知道如何使用位置操作員從記錄拉值
感謝您的回答,這裏'B'是對象的數組,我的記錄結構是正確的,我覺得。來到你的答案我想從記錄中刪除'object d'而不是獲取數據,我可以讀取數據,但是從記錄中提取數據我找不到確切的查詢 – Sasikanth
在數組上:嘗試將您的示例插入到收集 - 查看錯誤。刪除時:使用$ unset刪除單個字段。更新我的答案以顯示如何。 –