【问题标题】:How to return only values instead of key:value pairs from mongodb in nodejs如何在nodejs中仅返回值而不是键:来自mongodb的值对
【发布时间】:2013-11-28 05:53:38
【问题描述】:

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

我可以自己按摩返回的数组,但如果 mongodb 可以为我做这件事,那么我宁愿让它这样做。

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

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

    { values: [ 123, 234, 345 ] }
    

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

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

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

    【讨论】:

    • 根据上面的回答,看来我还不如自己按摩。谢谢。
    • 不幸的是,这是真的。您只能从 Mongo 取回文件。
    猜你喜欢
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 1970-01-01
    • 2019-12-06
    • 2021-06-13
    • 2016-02-05
    • 1970-01-01
    相关资源
    最近更新 更多