Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同时运行两个组操作的MongoDB聚合_Mongodb_Mongodb Aggregation - Fatal编程技术网

同时运行两个组操作的MongoDB聚合

同时运行两个组操作的MongoDB聚合,mongodb,mongodb-aggregation,Mongodb,Mongodb Aggregation,鉴于: 一个集合,其中我有一些列,其中两列我希望获得所有使用的值 目前我正在做两个聚合,如下所示(简化) 及 但运行两个聚合感觉像是在浪费资源。是否有一种方法可以同时获得两个分组结果 我考虑将它们组合起来,然后将其拆分成代码。在操作员的帮助下,您可以这样做 如果您在目标字段上有索引,那么我会选择使用单独的调用,因为这样可以利用这些索引,并可能导致更少的工作负载/更快的执行时间 db[myCollection].distinct('firstCol') 不清楚你在问什么。您想按“第一列”和“第二

鉴于:

一个集合,其中我有一些列,其中两列我希望获得所有使用的值

目前我正在做两个聚合,如下所示(简化)

但运行两个聚合感觉像是在浪费资源。是否有一种方法可以同时获得两个分组结果


我考虑将它们组合起来,然后将其拆分成代码。

在操作员的帮助下,您可以这样做

如果您在目标字段上有索引,那么我会选择使用单独的调用,因为这样可以利用这些索引,并可能导致更少的工作负载/更快的执行时间

db[myCollection].distinct('firstCol')

不清楚你在问什么。您想按“第一列”和“第二列”分组吗?您能提供预期结果的示例文档吗?@BoasEnkler这个答案有帮助吗?或者您需要其他东西吗?
db['myCollection'].aggregate(
  [{$group: {"_id":"$secondCol"}}  ]
);
db['myCollection'].aggregate([
    {
        $group: {
            _id: null,
            col1: {
                $addToSet: "$firstCol"
            },
            col2: {
                $addToSet: "$secondCol"
            }
        }
    }
])
db[myCollection].distinct('firstCol')