如何仅从nodejs中的mongodb返回值而不是key:value对

时间:2013-11-14 23:56:50

标签: node.js mongodb

在某个字段上搜索集合时,我可以指定我只想返回某些字段。在只返回一个字段的情况下,假设为“_id”,find命令返回一个键:值对的数组 [{_id:123},{_ id:234},{_ id:345}] 有没有找到返回值数组的方法?如: [123,234,345]

我可以自己按摩返回的阵列,但是如果mongodb可以为我做这个,那么我宁愿让它这样做。

1 个答案:

答案 0 :(得分:1)

为了获得这种输出,您必须使用聚合框架。即使使用聚合框架,您可以获得的最佳结果是:

{ values: [ 123, 234, 345 ] }

您必须使用$group将所有值组合在一起。像这样:

db.collectionName.aggregate({
    $group: {
        values: { $push: "$_id" }
    }
});

我不确定您是否需要_id组,但如果上述方法不起作用,您可以添加它。我不确定在返回搜索后是否会比按摩它更快。