我正在使用一些嵌套的文檔......如何才能檢查 存在只是一個關鍵?MongoDB:存在一個嵌套鍵
即,如果我想返回任何有嵌套鍵「工作」,其中父鍵是動態的任何記錄。
這裏是應該返回一條記錄:
{
"_id" : ObjectId("123"),
"customer_name" : "test user",
"123456" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
"work" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"321456" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
"work" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"789654" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
"work" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"createad" : "2011-04-14 16:44:09"
}
這裏是一個不應該被返回的記錄:
{
"_id" : ObjectId("123"),
"customer_name" : "test user",
"123456" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"321456" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
"home1" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"321543" : {
"home" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
"home1" : {
"id" : "1536734296",
"last" : "2011-04-14 16:44:09",
}
},
"createad" : "2011-04-14 16:44:09"
}
我想這會是這樣的: db.find( {「* .work」:{「$ exists」:true}}) 任何想法?
'*。工作「將無法正常工作。你需要父母的鑰匙。 – styvane 2015-03-25 10:11:18
我知道,這就是爲什麼我發佈了這個問題的原因...... – marnun 2015-03-25 10:28:21
如果你不能像chridam正確的建議那樣修復這個模式,那麼你需要使用['$ where'](http://docs.mongodb。 org/manual/reference/operator/query/where /#op._S_where)並且表現糟糕。 – JohnnyHK 2015-03-25 13:32:37