问题标签 [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 投票
1 回答
394 浏览

mongodb - MongoDB聚合性能能力

我正在尝试解决一些关于将 MongoDb 用于大量文档以用于各种聚合的性能考虑。

我读过一个集合有 32TB 容量,具体取决于块和分片键值的大小。

如果我有 65,000 个客户,每个客户(平均)每天向我们提供 350 笔销售交易,那么最终每天会创建大约 22,750,000 个文档。当我说销售交易时,我指的是一个对象,它类似于带有抬头和行项目的发票。我拥有的每个文档平均为 2.60kb。

这些客户还收到了一些其他数据,例如帐户余额和目录中的产品。我估计任何时候都有大约 1,000 条产品记录处于活动状态。

基于以上所述,我在一年内大约有 8,392,475,0,00(84 亿)个文档,总共有 20,145,450,000 kb(18.76Tb)的数据存储在一个集合中。

基于 32Tb (34,359,738,368 kb) 的 MongoDb 集合的容量,我相信它将达到容量的 58.63%。

我想了解这对于在其上运行的不同聚合查询将如何执行。我想创建一组分阶段的管道聚合,它们写入不同的集合,用作业务洞察分析的源数据。

在 84 亿个事务文档中,我的目标是通过一组单独的服务在不同的集合中创建这些聚合数据,这些服务的输出使用$out以避免单个结果集的 16Mb 文档大小出现任何问题。

我是否过于雄心勃勃地期望 MongoDb 能够:

  1. 将这么多数据存储在一个集合中
  2. 汇总和输出刷新数据的结果,以在单独的集合中推动业务洞察力,供服务使用,这些服务提供客户业务的离散方面

欢迎任何反馈,我想了解使用 MongoDb 相对于其他技术进行数量数据存储和使用的限制在哪里。

提前致谢

0 投票
1 回答
2963 浏览

mongodb - 使用 MongoDB Java 驱动程序聚合分组和求和

我用 Java 编写了这个 MongoDB 查询:

代码是

它给出了错误

请帮我找出错误。

0 投票
1 回答
58 浏览

node.js - 如何使用 mongodb 查询获取集合中列的单个计数?

我是 MongoDB 的初学者。我需要从一个 MongoDB 查询中获取各个列的计数。

例如,我有一个hotelCollection带有 fields的集合cityid , starRating, area, locality。现在我将参数传递给查询cityid123我需要获取结果:

我尝试使用aggregate查询,但最后我只得到一列计数。所以我暂时写了4个aggregate查询。现在我面临性能问题。我做了很多谷歌搜索,但找不到任何解决方案。请帮我解决这个问题。

0 投票
1 回答
29 浏览

python - Mongo Cursor 不返回光标而是返回对象

光标的内容如下:-

但是,使用$out语句,输出集合具有预期的内容。我正在运行 pymongov3.2.2和 mongo 3.2。有人告诉我这个问题的经历v3.0或更少,但这是我无法弄清楚的

0 投票
1 回答
1230 浏览

mongodb - 如何在 MongoDB 中执行复杂的查询

我想对此模式执行查询:

我想获取某个名称,一个包含每个类别的客人百分比的列表。

以上面的文件为例,我想收到:

有没有办法用单个 MongoDB 查询来做到这一点?另外,我应该在客户端还是服务器端进行计算?

0 投票
1 回答
89 浏览

node.js - 单个集合的聚合查询

我的数据库包含collection以下形式的用户:

我知道verticalmanager并且我必须从中找到userId. 然后我必须找到verticals特定用户的。

就像在 SQL 中一样:

请帮助解决这个问题。我是这项技术的新手。

0 投票
1 回答
39 浏览

mongodb - 连接嵌套在另一个数组中的数组中的数组

无需详细说明我是如何到达这里的,任何人都可以帮助我使用 mongo 中的聚合来连接这些嵌套数组的内容:

连接

我会对在深度嵌套数组中找到的字符串数组感到满意,但我也真的只对嵌套最深的数组的第二个值感兴趣。

这将是足够的:

但我真的只是想要这个:

0 投票
1 回答
538 浏览

mongodb - 如何在mongodb中结合投影和分页?

我有一个这样的文档结构:

现在我想获得带有分页的分数部分。如何通过分页对分数项目进行排序和投影?

0 投票
2 回答
31912 浏览

mongodb - 如何在 mongoDB 中对 $lookup 结果应用条件?

参考我之前的问题,我有一个关于 $lookup 的问题,并添加了一些条件。您可以从下面的链接描述中获得有关问题的足够参考。

照片:

专辑:

表情符号:

测试记录分页:

2

假设我在照片集中添加另一个标志字段,现在我只想计算那些标志为 1 的照片。

我试图在查询中的 $lookup 之后立即添加 $match,但它失败了,它不排除标志 = 0 的照片,并且在计数器中它也没有标志条件。

当前输出 10 张照片中有 3 张照片设置了标志 0。我们不能考虑那些标志为 0 的照片。所以预期总数为 7 张照片,但计数返回 10 张照片,尽管我在照片中应用了标志条件。

当前查询:

预期输出:

目前的输出:

0 投票
3 回答
12127 浏览

mongodb - MongoDB在聚合查询中获取第一个和最后一个文档

如何根据time字段获取第一个和最后一个文档。我可以使用$group和获取$first$last记录,但我不需要在这里分组,只需获取第一个和最后一个完整文档。也许我可以使用slice?此查询不起作用: