我有一个像 -
这样的猫鼬模式db.foo.insert({one:'a',friends:[{two:'b',three:'c'},{two:'d',three:'e'},{two:'f',three:'G'}]})
现在我想要的是两个只检索'two'
数组的friends
部分
那就是我想在two
数组中的每个对象中找到friends
的所有值的数组
在mongodb中这样的投影是可能的,在输出中看起来像 -
['b','d','f']
答案 0 :(得分:4)
aggregate
是您的答案
db.foo.aggregate({"$project" : {"two" : "$friends.two"}}).result
还有另一种方法(获得不同的值)
db.foo.aggregate([
{'$project': {
union:{$setUnion:["$friends.two"]}
}
}
]).result;
答案 1 :(得分:4)