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

node.js - 在 mongo 中执行原子聚合读取和更新?

我有一些格式如下的文件

我使用该last_used字段在aggregate查询中进行排序,以便首先提供最后使用的文档。我updateOne在聚合之后使用以下查询来碰撞最后使用的字段。因此,每个读取请求都会更改 last_used 字段日期戳。

我遇到的问题是客户端将发出 5 个并发请求,而不是接收文档 1、2、3、4、5,例如,他们将获得 1、1、1、2、2。

我猜这是因为读取和更新之间没有锁定,因此在执行更新之前多次读取会得到相同的结果。

有没有办法解决?

使用以下聚合 nodejs 代码进行更新

问题是多个读取请求来自发出多个并发请求的同一个客户端,这意味着它们同时访问数据库并在updateOne触发之前读取相同的数据。

0 投票
1 回答
937 浏览

mongodb - MongoDB 聚合命令到 Java 代码

这是我的 mongodb shell 命令:

效果很好。

我需要在 java 中使用这个 MongoDB 命令,并且我需要帮助才能将 MongoDB Aggregation 框架与 java 驱动程序一起使用。

当我尝试使用 java 驱动程序运行此命令时:

抛出异常,

帮助我找出错误,或提供正确的代码以使用 java Driver 运行此命令。

0 投票
1 回答
1766 浏览

javascript - mongodb聚合过滤器并依靠nodejs

我有这个名为“点”的集合

我还有另一个名为“流”

我需要在要搜索email的包含字母“o”的地方进行聚合查询。我期望的结果是这样的

我已经这样做了

如果我在 mysql 中,查询将是这个

0 投票
1 回答
932 浏览

mongodb - Mongodb concat不能在聚合中工作

在我的查询中, concat 关键字不起作用,它返回null.

这是查询:-

这是查询输出:-

createdOn字段数据存储在 mongodb 作为日期类型,即

在此处输入图像描述

0 投票
1 回答
2643 浏览

mongodb - 使用一个查询的输出在 Mongo shell 中执行另一个查询

我正在 Mongo shell 中执行查询,并需要此查询的输出来执行第二个查询。第一个查询是求平均值的聚合查询。

第一个查询是:

现在_id (userId)在输出中使用,我想从用户表中获取数据。

0 投票
1 回答
436 浏览

mongodb - Mongodb 在单个聚合中使用多个组运算符

我正在使用 mongodb 聚合来获取不同字段的计数。以下是mobile收藏中的一些文件:-

我可以找到manufacturerrating计算,但这失败了:

输出:-

预期输出类似于:-

0 投票
1 回答
3424 浏览

javascript - Mongodb聚合,使用$group _id表达式中的变量值

我正在尝试按两个字段对文档进行分组,field1并且field2.

效果很好,可以产生预期的结果。

但是我想在循环中重新运行上面的内容,每次运行都会有不同$field2的,所以下面的失败了,我该怎么做?谢谢

0 投票
1 回答
39 浏览

mongodb - MongoDb 选择所有记录并按数组排序

在 mongoDb 中,我试图通过聚合来实现“$queryResult”中提到的结果,我想从一个集合中选择所有记录并将它们排序到一个数组中,请你帮忙。

在数据库中记录

查询订单

期望的结果

0 投票
1 回答
115 浏览

ruby-on-rails - Mongo DB,删除冗余数据,如何从集合中删除重复的唯一索引

我有一个包含冗余数据的集合。

示例数据:

我运行了查询:(我必须使用allowDiskUse:true,因为有很多数据)

我得到这个输出:(例如)

现在的问题是我只想保留一个数据。我想删除所有冗余数据。请注意,它的数据很多,比如超过 100,000 条记录之类的。我正在寻找快速简便的解决方案(在 mongodb 或 RoR 中,因为我使用的是 Ruby on Rails),如果有人可以提供帮助,将不胜感激。

0 投票
1 回答
385 浏览

mongodb - MongoDB按UNIX时间分组并计数不起作用

我有一个看起来像的文件,

我正在尝试计算某个应用程序的访问者数量。我有 64 个字段,我的查询如下所示。

即使我正在寻找几个组(因为有来自不同日期的数据)它返回为,

我在这里做错了什么吗?