问题标签 [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.

0 投票
5 回答
36655 浏览

mongodb - 如何在 mongodb shell 中使用 for 循环?

如何在 mongo db shell 中使用 for 循环?

我的尝试停留在这一点上:

感谢帮助!

0 投票
2 回答
766 浏览

mongodb - Count Elements SubDocument that match a given criterion

I have the following document structure in mongodb

I want to count the number of conversations from the sub arrays, personal and group where the last_read is null, for a given user. Please how can I achieve this?

I tried:

but didn't get he desired output. Any better ideas, please?

0 投票
0 回答
286 浏览

mongodb - MongoDB聚合框架获取字段值的频率

我有一个集合,其中填充了符合以下架构的文档:

我想获得每个可能的 n1、n2、n3 数的频率。因此,例如,如果我们有以下文件:

我想要一个形式的结果文档(或像这样):

现在,我已经使用了带有以下命令的聚合框架:

获得所需的结果,但仅限于一个字段 (n1)。我可以为所有有趣的字段迭代这个过程,但我想知道是否有更紧凑的查询可以一次获取所有内容。

0 投票
1 回答
1262 浏览

mongodb - MongoDB 在聚合管道中使用 $addToSet 避免重复

有聚合管道:

它对以下数据(示例文档)执行:

查询效果很好,但是有重复的记录,所以我尝试使用$addToSet运算符来避免重复:

但我只有日期(其他字段是null

有谁知道问题出在哪里?

0 投票
3 回答
12330 浏览

mongodb - 使用键值对将 mongo 数组转换为对象

我有一个包含字符串数组的 mongo 文档,我需要将这个特定的字符串数组转换为包含键值对的对象数组。下面是我对它的当前方法。

当前查询:

结果:

我的方法是否足够有效,或者有没有办法优化上述查询以获得相同的预期结果?

0 投票
1 回答
819 浏览

mongodb - Mongo 大数据聚合框架

你能帮我做 mongoDB 聚合吗?这是我接下来想做的事情:

我有收藏A。来自的文档A代表一个对象,例如:

我有一个包含以下B文件的集合:

我使用大数据,所以最好在一个查询中完成。假设我们已经拥有集合 A 的所有数据。我想在集合 B 上构建一个查询以获得下一个结构结果:

如何使用 MongoDB 聚合实现预期结果?

0 投票
1 回答
5534 浏览

mongodb - mongodb 组和子组计数

我有以下文件类型

我喜欢对文件扩展名进行细分并按状态分组

所以对于每个状态,我想按"mimetype"类型分组?

任何建议非常感谢

0 投票
2 回答
70 浏览

javascript - 使用子查询在 MongoDB 中创建查询时遇到问题

我有一个看起来像这样的数据集:

我正在尝试制作一个查询,该查询将为我提供如下所示的输出:

基本上,我试图从对象中的项目数组中获取不同的项目,然后为每个在其项目数组中包含该项目的 obj 返回一个 id 数组。

0 投票
1 回答
85 浏览

mongodb - MongoDB 中的 $group 命令问题

我在尝试使用以下命令对结果进行分组时遇到 Mongo DB 问题。这映射到包含字段 id、名称和结果列表的 Java 对象。但是,name 属性不会为我正确映射。文档中确实存在 $name 属性,所以我不确定是什么导致了问题。如果有人能指出我正确的方向,将不胜感激。

这是我要映射到的 Java 对象的结构:

并且 id 和 results 被正确填充(如果我删除名称),但是当我包含名称时,我得到了这个异常:

“例外:组聚合字段‘名称’必须定义为对象内的表达式”。

0 投票
1 回答
550 浏览

mongodb - 对书籍进行分组并计算他们的每个评分

我有一个评级模型,其中包含一本书和评级值。我想获取数据库中每本书的所有评级计数(评级从 1 到 5 不等)。

我的架构看起来像 -

目前,我只能达到这一点,我可以获得每本书的评分数,但它没有准确指定评分值计数。

这是我当前的查询-

输出是这样的 -

但是,我想汇总所有文档并获得包含rating字段每个值的评分计数的结果,如下所示。重点是我只想要每本书的每个值的评分计数。

我该怎么做?