鉴于此类收藏......
{ "_id" : ObjectId("5546371e470000570184a633"), "name" : "John", "age": 31 }
{ "_id" : ObjectId("5546381e470000570184a634"), "name" : "Mike", "age": 35 }
{ "_id" : ObjectId("5546391e470000570184a635"), "name" : "Jack", "age": 28 }
...如何合并30岁以上所有人的_id
?我正在寻找的结果是
{ "_ids" : "5546371e470000570184a633,5546381e470000570184a634,5546391e470000570184a635" }
我可以使用find
然后迭代结果来连接_id
s ...但也许这是一种更方便的方法。
答案 0 :(得分:3)
我认为您的方法没有任何问题。这是一个稍微不同的一个:
db.coll.distinct("_id", {age: {$gt: 30}}).map(function(el){
return el.str;
}).join(",")
我确实认识到所有_id在定义上都是不同的。