dzm*_*dzm 6 database mongodb node-mongodb-native
我正在使用MongoDB和node-mongodb-native驱动程序.
我正在尝试返回具有不同属性的所有记录.
这似乎有效,但它只返回我正在检查的值是不同的值,而不是每个文档中的所有值.
这就是我试图只返回名称字段,我也试过没有它和变体,但它总是只返回数组中的item_id.
this.collection.distinct("item_id", [{"name" : true}, {sold : {"$exists" : true}}], function(err, results) {
if (err) {
callback(err);
} else {
console.log(results);
}
});
Run Code Online (Sandbox Code Playgroud)
有关如何从每个文档获取所有数据的任何建议吗?
谢谢!
编辑:使用Map Reduce
所以,我只是使用node-mongodb-native来设置map reduce的开始,这是我到目前为止所拥有的:
var map = function() {
emit(this._id, {"_id" : this._id, "name" : this.name});
}
var reduce = function(key, values) {
var items = [];
values.forEach(function(v) {
items.push(v);
});
return {"items" : items};
}
this.collection.mapReduce(map, reduce, {out: "res"}, function(err, results) {
if (err) {
console.log(err);
} else {
console.log(results);
}
});
Run Code Online (Sandbox Code Playgroud)
我知道逻辑不在那里是为了区别,但结果是db对象,我不能在它上面使用'toArray'.任何想法为什么会这样?