问题标签 [aggregation-framework]

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 回答
897 浏览

mongodb - 如何使用 json API 在 mongo db 2.0.6 中编写简单的聚合查询

刚开始 mongo 并开始遇到查询问题。我有一个名为“externalTransaction”的集合,我想编写一个等效于这个 mysql 查询:

以下是我的尝试:

}

上面的查询给了我一个如下所示的结果集:

从带有版本的文档中,2.0.6我还不能使用aggregation framework如何处理像我在 mongo 中的简单查询。感谢您阅读并原谅我的问题的琐碎性。

0 投票
2 回答
9610 浏览

php - mongodb聚合php

我正在使用 mongodb 2.1 以及如何将此查询转换为 php

谢谢

0 投票
1 回答
29130 浏览

mongodb - Mongodb 聚合框架 | 分组多个值?

我想使用 mongoDB 的聚合框架来运行 SQL 中看起来有点像的东西:

文档状态:

您可以指定管道中文档中的单个字段、先前计算的值或由多个传入字段组成的聚合键。

但目前还不清楚“由几个传入字段组成的聚合键”实际上是什么?

我的数据集有点像这样:

我的查询如下所示:

我的直觉是尝试将结果传递给第二组,我知道您可以这样做,但它不会起作用,因为第一组已经过多地减少了数据集并且丢失了所需的细节级别。

我想要做的是分组使用labelresponseCodesuccess从结果中获取值的总和。它应该看起来有点像:

其中有五组:

0 投票
2 回答
169 浏览

ruby-on-rails - 如何按 _id 和国家/地区分组?

我需要按 _id 和国家/地区分组。我已经设法分组_id,但想知道如何对这些国家/地区进行分组_id并返回每个国家/地区的计数。

我正在使用聚合框架。到现在为止还挺好。

以下返回:

0 投票
2 回答
20427 浏览

ruby-on-rails - 与 Mongoid 聚合

MongoDB 有一个新的聚合框架,我正在尝试弄清楚如何将它与 Mongoid 一起使用。似乎有一个具有此功能的 Moped 分支,如此所述。我已经更新到 MongoDB 2.2 并尝试在我的应用程序上安装这个 Moped 分支,如下所示:

宝石'轻便摩托车',git:'git://github.com/mongoid/moped.git',分支:'聚合支持'

但聚合仍然不起作用。这是我用来测试它的调用:

= Post.all.aggregate({ "$group" => { "_id" => "$_id" } })

更新

在 mongo shell 中,这是有效的:

db.users.aggregate({ $group : { _id : "$_id" }})

所以我认为这是一个 Mongoid 问题......任何关于此的词都会很棒!

0 投票
2 回答
21152 浏览

mongodb - Mongodb聚合:如何仅返回数组的匹配元素

在我的 mongoDB 书籍收藏中,我的文档结构如下:

我执行以下正则表达式查询以查找具有一个以 "Par" 开头的 indexToken 的所有文档:

如果我只选择要返回的 indexTokens 字段,如下所示:

生成的 DBObject 是

我想得到的只是与正则表达式匹配的令牌/标签(此时我不关心检索文档,我也不需要匹配文档的所有标签)

这是在 MongoDB v2.2 下发布的新聚合框架的情况。?

如果是,我该如何修改我的查询,以便实际结果如下所示:

{ "indexTokens" : ["Paris", "Paradise River", "Parma" 等 ....]}

额外的问题(你有 codez):我如何使用 Java 驱动程序来做到这一点?

现在我的java看起来像:

谢谢 :)

编辑:

根据您的回答,我修改了我的 JAVA 代码,如下所示:

哪个输出

这是天才!

非常感谢 !

0 投票
1 回答
14410 浏览

mongodb - MongoDB aggregation comparison: group(), $group and MapReduce

I am somewhat confused about when to use group(), aggregate with $group or mapreduce. I read the documentation at http://www.mongodb.org/display/DOCS/Aggregation for group(), http://docs.mongodb.org/manual/reference/aggregation/group/#_S_group for $group.. Is sharding the only situation where group() won't work? Also, I get this feeling that $group is more powerful than group() because it can be used in conjunction with other pipeline operators from aggregation framework.. How does $group compare with mapreduce? I read somewhere that it doesn't generate any temporary collection whereas mapreduce does. Is that so?
Can someone present an illustration or guide me to a link where these three concepts are explained together, taking the same sample data, so I can compare them easily?

EDIT:
Also, it would be great if you can point out anything new specifically in these commands since the new 2.2 release came out..

0 投票
1 回答
1522 浏览

php - php mongodb聚合(断言13111错误)

我正在尝试使用 php 中的新 mongodb 聚合框架。

我在 OSX Mountain Lion 上使用 mongod v2.2、php 5.3.13 和 mongodb pecl 库 v1.3.0beta2

我在门口跌跌撞撞...

我从 php 文档页面中获取了其中一个示例并将其缩减为...

当我查看页面时,我的 mongod 出现错误...

断言 13111::字段(管道)3 的错误类型!= 4

我一辈子都看不到代码有什么问题。

如果我db.zips.aggregate({$group : {'_id': "$state"}})在 mongo 控制台中运行它工作正常。

0 投票
2 回答
3481 浏览

mongodb - 在 MongoDB 中搜索数组并按匹配数排序

问题是下一个:

获取列表中带有标签的文档,按匹配总数排序

但是他们说使用聚合框架是可能的,这可能吗?

0 投票
1 回答
1082 浏览

mongodb - 使用 MongoDB 的新聚合框架搜索和计算标签的有效方法?

我正在尝试使用新的 AF 从 Map/reduce 迁移。我有数百万这样的对象:

我想做一份报告,其中包含所有者为 X 的“猫”和“鱼”的所有匹配项。

到目前为止,我的管道假设输入标签 ["cat", "fish"] 看起来像:

第一个 $match 只是缩小到所有这些百万对象的一个​​子集——因为我有一个关于所有者和“tags.txt”的索引。

该管道对于少量标签的功能很好,但我需要能够传入 100-1000 个“标签”并获得快速结果。似乎将所有标签投影出来并展开一定是低效的,只是在下一个匹配步骤中过滤了 90% 的方式。

有没有更有效的方法?也许重新排序管道步骤?