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

mongodb - $unwind 空数组

我有一组用户,其中每个文档都具有以下结构:

该字段solved可能为空或包含任意多个子文档。我的目标是获取用户列表以及总分(总和points),其中尚未解决任何问题的用户将被分配总分 0。这是否可以通过单个查询来做到这一点(理想情况下使用聚合框架)?

我试图在聚合框架中使用以下查询:

但是我收到以下错误:

先感谢您

0 投票
1 回答
1411 浏览

java - MongoDB 聚合条件转换为 JAVA 驱动程序

我对 MongoDB 比较陌生,我目前正在与 java 一起使用“通过大多数标签匹配查找”解决方案来查找集合中的信息。

我现在正试图将 MongoDB shell 操作转换为 JAVA 驱动程序版本(这个 sintaxis 是所需定义的一部分)

$cond:[{$eq: ["$tags", 200]}, 1, 0]

对于上面的句子,正确的 JAVA 实现是什么?

先感谢您

0 投票
2 回答
18797 浏览

performance - Mongodb聚合框架比map/reduce更快吗?

mongodb 2.2引入的聚合框架,对map/reduce有什么特别的性能提升吗?

如果是,为什么以及如何以及多少?

(我已经为自己做了一个测试,性能几乎相同)

0 投票
3 回答
2248 浏览

mongodb - MongoDb - 在两个集合中“加入”或 $

假设我有 2 个集合:

有些女人属于某个家伙,但有些不属于。在上面的案例中,这个女人确实属于那个家伙。

我如何找到所有不属于任何男人的女人?我尝试使用 $unwind 来做到这一点,但没有运气。我的意思是,我不知道我应该进一步做什么。

你的想法?

0 投票
2 回答
2619 浏览

mongodb - 聚合框架管道中的数组子集

在上一个问题中,我想使用管道操作获取结果组的计数。按照建议,我使用了以下内容:

现在知道了计数,我想按页面显示结果,所以我只需要data. 我最初的想法是在管道中使用$sliceon ,例如:data$project

但它似乎$slice不是一个有效的操作$project。我尝试了一种解决方法:

但看起来,我执行了另一个$unwind管道。有没有更好的解决方案来实现我想要做的事情?

0 投票
3 回答
5311 浏览

mongodb - MongoDB,使用 group by 聚合框架来获取唯一的字符串

我正在尝试使用聚合框架将许多字符串组合在一起以识别唯一的字符串。我还必须保留有关其余字段的一些信息。这类似于我在 mysql 中使用 * 运算符和 group by 语句。

我试过使用聚合框架,它只是为了获得唯一的字段而工作得很好。

如果我想要与此相关的其他领域怎么办。MySQL 只会给我出现在组中的第一个(我很好)。这就是我认为 $first 运算符所做的。

这样,它按 field1 分组,但仍然让我返回附加到文档的其他字段。当我尝试这个时,我得到:

我有一种感觉是因为它将整个聚合返回为一个文档。我可以将它作为另一个 json 数组返回吗?

提前致谢

0 投票
2 回答
1771 浏览

mongodb - Mongodb:使用mapreduce /聚合计算数组值

我有具有以下结构的文件:

并构建了一个简单的函数来计算“项目”总数。

但是在大约 100 万个项目之后,我的功能中断了,Mongo 退出了。我已经查看了新的聚合框架以及 mapreduce 函数,但我不确定哪个最适合用于像这样的简单计数。

欢迎提出建议!谢谢。

0 投票
3 回答
59015 浏览

mongodb - MongoDB 中的条件 $sum

我在 mongodb 中的集合类似于 SQL 中的下表:

情绪(公司,情绪)

现在,我需要执行这样的查询:

我应该怎么做才能在 Mongo 中编写这个查询?我被困在以下查询中:

0 投票
2 回答
22581 浏览

php - 使用 PHP 驱动程序的 MongoDB 聚合查询

我有一个MongoDB可以通过 MongoDB shell 运行的有效聚合查询。但是,我正在尝试将其转换为与官方PHPMongo 驱动程序(http://php.net/manual/en/mongocollection.aggregate.php)一起使用。

这是工作的原始 MongoDB 查询:

这是我使用 Mongo 驱动程序的尝试(不工作) :PHP

上述 PHP 代码的错误是:

有任何想法吗?谢谢。

0 投票
2 回答
3217 浏览

php - MongoDB 与 PHP 聚合 - 按日期分组

我正在使用aggregatein MongoDBwith PHP。代码如下所示:

这个问题是$dayOfYear排序不正确,因为它排序 2 然后 3 然后 345、346 ......我需要它来进行日期升序。所以,基本上不是简单地做$dayOfYear我需要类似的东西$year-$month-$dayOfMonth

不幸的是,这不起作用。有任何想法吗?

谢谢。