我是MongoDB的新手,我正试图以不同的方式获得结果。
如果我执行查询db.collection.find()。toArray()我会得到类似的结果:
[
{
"_id":"34234...",
"first":"Mark",
"last":"Marker"
},
{
"_id": "34235...",
"first":"Adam",
"last":"Smith"
}
]
是否有api可以让您收到如下结果?:
{
"results" : {
"34234..." :{
"_id":"34234...",
"first":"Mark",
"last":"Marker"
},
"4235..." :{
"_id": "34235...",
"first":"Adam",
"last":"Smith"
}
}
或者我需要获取结果数组并迭代每个对象并构建我的响应? (我想避免单光标迭代)
答案 0 :(得分:0)
我不相信有一个本机API函数。 cursor.toArray()
遍历光标中的每个项目,所以我不会过分担心。我们可以跳过toArray()
并进行自己的迭代:
var obj = {}
db.collection.find().each(function(item){
obj[item._id] = item;
});
我认为这不会更慢。