MongoDB不同,返回所有字段

时间:2012-08-13 17:21:53

标签: mongodb node-mongodb-native database

我正在使用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);
        }
    });

有关如何从每个文档获取所有数据的任何建议吗?

谢谢!

编辑:使用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);
        }
    });

我知道逻辑不在那里,但是结果是db对象,我不能在它上面使用'toArray'。任何想法为什么会这样?

0 个答案:

没有答案