鉴于以下架构,我试图找到条件的所有不同子文档(项目)。
{
"basket": "one",
"color":"brown",
"items": [
{
"id":123,
"name": "apple"
},
{
"id":234,
"name": "banana"
},
]
},
{
"basket": "2",
"color":"brown",
"items": [
{
"id":345,
"name": "orange"
},
{
"id":123,
"name": "apple"
},
]
},
{
"basket": "3",
"color":"blue",
"items": [
{
"id":345,
"name": "orange"
},
{
"id":456,
"name": "pineapple"
},
]
}
在mongodb中是否有办法获得篮子颜色为"棕色"?的所有不同物品
理想情况下,结果应为:
{
"id":123,
"name": "apple"
},
{
"id":234,
"name": "banana"
},
{
"id":345,
"name":"orange"
}
答案 0 :(得分:2)
官方文件: https://docs.mongodb.com/v3.2/reference/method/db.collection.distinct/#db.collection.distinct
db.collection.distinct(field,query)
其中:
field - 要返回不同值的字段(字符串)。
query - 一个查询,指定从中检索不同值(文档)的文档。
所以在你的情况下:
db.collection.distinct("items",{"color":"brown"})
答案 1 :(得分:1)
之后你可以运行以下 -
如果是“item”子文档
db.Collection_Name.distinct("items",{"color": "brown"})