[英]query the value of a sub document in mongodb
我正在使用Java驅動程序,看起來像這樣的文檔(一個真正的測試示例):
{
"_id" : ObjectId("5207fe359b88bfa6f90a82b0"),
"meta_id" : "d6eb1b13-50c7-473f-8348-b5a638a542a0",
"name" : "Fake Name Inc.",
"created" : ISODate("2013-08-11T21:12:21.533Z"),
"members" : {
"5207fe359b88bfa6f90a82af" : [
"Admin",
"User"
]
}
}
我想在路徑“ members.5207fe359b88bfa6f90a82af ”(這是一個角色列表)中選擇字符串數組。 我不知道該怎么做。 它看起來像投影可以在這里工作,但我對Mongo來說已經足夠新了,投影的編寫方式並不明顯。
我當然可以加載整個對象,甚至可能只是“成員”字段,但我想我應該能夠准確選擇我正在追蹤的數據。
那么,有沒有人知道如何編寫這樣的查詢?
注意:這個問題表明我可能需要更改文檔的結構以使事情更容易: MongoDB - 按子樹查詢
您可以在find
的projection參數中使用點表示法來執行此操作。 在shell中:
db.test.find(
{_id : ObjectId("5207fe359b88bfa6f90a82b0")},
{'members.5207fe359b88bfa6f90a82af': 1, _id: 0})
返回:
{
"members": {
"5207fe359b88bfa6f90a82af": [
"Admin",
"User"
]
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.