Mongoose - 如何通过特定字段选择所有字段并将数据作为字符串数组返回

时间:2015-08-28 09:33:37

标签: mongodb mongoose

我收集了以下格式的文件:

"_id": "12345",
"userId" : "some user id",
"regId" : "some reg id"

我试图通过regId字段选择所有文档并返回一个regIds数组。

期望的结果:

["some reg id","some reg id","some reg id","some reg id" ....]

我尝试的是:

Device.find({}, { "regId": 1, _id: 0 },  function(err, doc){
    if(!err){
        console.log("Documents" , doc);
    }
});

我得到的是: enter image description here

我知道我可以迭代结果并将regId值推送到新的Array对象中,但这将是一项繁重的任务。因为我预计会有大约10K-50K的文件。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

假设您不想重复,可以使用distinct直接获取集合中唯一regId值的数组:

Device.distinct('regId', function(err, regIdsArray) {...});