问题标签 [mongodb-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 如何在 MongoDB $group 运算符中有效地计算过滤后的文档
我有一个相当小的 63k 文档数据集(总共 2.5GB)。文件示例:
我想通过 FormId 获取文档的总数。我在这个查询上得到了快速的结果(0.15 秒):
我的问题是我需要计算 {“IsComplete”:true } 所在的文档。我在两个属性上都建立了 2 个索引,但我意识到使用 $match 运算符会扫描所有文档。那么如何有效地过滤 $group 计数呢?
node.js - 在 $project 阶段重塑文档
对于我们的集合,如下所示:
对于我们的node.js
应用程序的以下查询。
给出以下错误:
断言:命令失败:{“ok”:0,“errmsg”:“管道阶段规范对象必须完全包含一个字段。”,“代码”:16435 }:聚合失败_getErrorWithCode@src/mongo/shell/utils。 js:25:13 doassert@src/mongo/shell/assert.js:13:14 assert.commandWorked@src/mongo/shell/assert.js:267:5 DBCollection.prototype.aggregate@src/mongo/shell/collection .js:1312:5 @(shell):1:1
2016-09-17T19:20:26.303+0530 E QUERY [thread1] 错误:命令失败:{“ok”:0,“errmsg”:“管道阶段规范对象必须包含完全一个字段。”,“代码” :16435 }:聚合失败:_getErrorWithCode@src/mongo/shell/utils.js:25:13 doassert@src/mongo/shell/assert.js:13:14 assert.commandWorked@src/mongo/shell/assert.js :267:5 DBCollection.prototype.aggregate@src/mongo/shell/collection.js:1312:5 @(shell):1:1
我无法弄清楚为什么?
mongodb - 如何在 MongoDB 中使用嵌套分组
我需要找到每个组织级别的重复配置文件总数。我有如下文件:
我已经编写了一个由 ProfileId 和 OrganizationId 组成的组的查询。我得到的结果如下所示:
但我想获得每个组织级别的总数,这意味着 Org 10 应该有一行,总和为 4。
我正在使用的查询如下所示:
有任何想法吗 ?请帮忙
mongodb - mongodb按类别聚合组
我是使用 MongoDB 聚合框架的新手,这里有一个模式:
每本书都有多个类别,我想显示前 5 个最畅销的类别,我需要的每个类别显示最畅销的前 3 本书,我还需要显示类别名称,我需要的结果是:
我该如何在 MongoDB 中解决这个问题?
mongodb - mongodb - 按属性值对子文档对象进行排序
我在 mongodb 中有一个文档,如下所示。
所以我想以这样的方式编写一个查询,使values
对象按其值排序。如下:
所以我基本上希望该字段的内容按降序排列。
node.js - Mongoose 过滤后提取第一个子数组元素
我在子文档中有这样的数组
我想按语言过滤子文档。我可以这样做
这会给我类似的东西
但我需要 descDay 成为文档而不是数组,如下所示:
我怎么能得到那个?
mongodb - 如何从 Mongodb 3.0 中检索聚合值的商?
Mongodb 3.2 支持$divide
和$floor
操作符。因此,在 3.2 版中,我只使用该运算符。但是在 3.0 版本中,只$divide
提供了操作符。
$divide
运算符计算商是十进制而不是整数。
如何获得整数值而不是小数的商?
javascript - 猫鼬对所有文档求和
我正在计算与我的查询匹配的文档中名称为数量的所有列,
如何获得称为金额的文档列的总结果?
例如,如果我有:
它会返回总金额(60)?
请记住,我确实需要{time: {$gte: a}, time: {$lte: tomorrow}
在查询中使用。
我该怎么做?
mongodb - MongoDB聚合管道中的多个组
我有一个包含以下数据的集合:
我想分组attribute
以获得每个属性的总计数,同时分组attribute
并$hour
获得每个属性和小时的计数。
我知道我可以做类似的事情:
和
在两个单独的聚合中获得两个结果,但是有没有办法在一个查询中获得我想要的结果?
按要求编辑:
也许这是完全错误的,但理想情况下,我希望得到如下回复:
然而,问题的重点是这是否可以(以及如何)在 mongodb 中的一个查询上完成。不在将在应用层合并的两个查询中
mongodb - 如何使用 Mongo 聚合功能计算嵌套组的总计和小计百分比?
我在 mongo 集合中有一些像这样的文件。
如何使用 Mongo 的聚合功能计算嵌套组的总计和小计百分比?
我期待输出结果为
示例预期输出: