问题标签 [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 回答
1968 浏览

mongodb - Mongodb Count 对象属性

我有一个名为configurations. 在configurations集合中有许多公司。每个公司都有workstations, servers, printers, phones.

架构configurations

我想要这样的输出

0 投票
1 回答
829 浏览

mongodb - MongoDB聚合和计数

集合中名为“myCollection”的文档如下所示:

我需要计算 'from' 和 'to' 的出现次数,并最终收集到这样的文档:

其中 _id 来自“$from”或“$to”。

我写的不正确的聚合查询是这样的:

我绝对可以看到 _id: "$from" 是不够的。你能告诉我正确的方法吗?

注意:'myCollection' 的结构不是最终的,如果您认为有更好的结构,请提出建议。

0 投票
1 回答
189 浏览

node.js - 在 node.js 中自定义聚合 $group 输出

我在 node.js 中使用聚合如下

这运行正确,但我得到了这个结果

由于_id密钥,该对象无法被利用。

是否可以以不返回_id密钥的方式使用聚合?

0 投票
1 回答
1214 浏览

mongodb - Mongo 不使用 $gte 和 $date 返回聚合中的文档

在 MongoDB (v3.2.8) 中,我有一些按时间顺序存储的分桶值。我目前正在尝试使用 Morphia 框架(v1.1.0)从这些存储桶中聚合数据,按文档日期限制文档(一个字段,请参见下面的示例)。

对于背景信息,我使用 Morphia 框架来生成对 MongoDB 的查询。当我使用日期与 Morphia 聚合kpiIdasset.contract.id生成以下匹配查询时:

但是,当我希望返回示例中的文档时,此查询不会返回集合中的任何文档。当我手动将查询更改为下面的查询时,它变得更加奇怪,我确实从 MongoDB 获取了文档。

为什么第一个查询不起作用,如果它是无效或不正确的查询,我该如何操作 Morphia 以正确创建查询。

更新:每个请求添加我们用来指示 morphia 创建查询的相关 Java 代码:

在此startDate类型java.util.Date中,返回的调用CalendarUtils.truncateToDayUTC也返回 a java.util.Date,其中分钟、小时和秒设置为 0。

0 投票
1 回答
7316 浏览

mongodb - mongodb - 查找其他集合中的值计数

我想找出collectionOne中有多少“taskId”存在于collectionTwo中。这里,collectionOne 下面的“taskId”嵌入到文档的数组中。

另外,让我知道执行此操作的不同方法(如果可能的话)。

在collectionTwo 中,“_id”等价于collectionOne 的“taskId”。

0 投票
1 回答
896 浏览

mongodb - 如何使用 mgo 和 Golang 编写以下 Mongo 聚合查询

我有以下经过测试和工作的查询,但是mgo

mgo查询如下所示:

我的猜测是它$filter不起作用。具体来说,我指定$setIsSubsetand 参数的方式与它上面的实际 mongo 查询不匹配。如果我删除该部分( 中的所有内容$not,则它可以工作(除了不是正确的过滤器)。

我基本上需要将顶级查询翻译成mgo。

0 投票
0 回答
840 浏览

mongodb - $avg 在 MongoDb 查询中不返回任何值

我在 Raspbian 上使用 NodeJs 和 MongoDb。我用和尚当司机。我在数据库中有如下所示的文档:

我正在使用此代码来检索分组和聚合数据:

该查询有效,我每天都会看到许多分组结果。我得到的答案看起来像这样

问题是:为什么“min”和“max”返回正确的结果,而“$avg”总是 0。是什么阻止了“$avg”的工作。它几乎不是 0,因为数据库中有大约 50000 个样本,值范围很广(从 10 到 30)。

附带问题:为什么“min”和“max”会返回字符串?在查看样本时,该值本身对我来说似乎是有效的。

OS、Node、Express、MongoDb 都是截至 8/2016 的当前版本。

编辑回答问题,这是一个典型的文件:

该值显然是一个字符串。有些值是实际的字符串,因此将所有值转换为数字将不起作用。但是对于我使用 $match 要求的字段,可以保证这些值可以转换为数字。

0 投票
0 回答
222 浏览

mongodb-query - 如何将多个mongo文档转换为单个

我想从整个文档集合中获取单个文档。假设我有收藏:

我需要一个查询,它返回这样的单个文档:

谢谢。

我的收藏足够小,所以我可以忽略 BSON 文档的限制。

0 投票
1 回答
51 浏览

mongodb - 如何根据同一集合中特定文档的值计算所有文档中的字段?

我是 MongoDb 的新手,并试图在其中实现一些基本计算。我有收集,计算,如下

我想将 "_id":1 的值添加到该集合中文档的所有值字段,并使用计算结果创建一个新字段。所以我正在寻找的最终结果如下。

0 投票
2 回答
3150 浏览

php - 如何获得MongoDB中两个字段的差异之和?

我已经有了一个解决方案,但我正在寻找一个可以在 MongoServer 上完成所有工作的解决方案(因为我认为它会更快且内存消耗更少)

我有一个类方法,如:

aggregate现在有没有一种方法可以使用MongoDB 的方法计算两个字段的差异之和?还有其他更有效的方法吗?