问题标签 [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.
node.js - 在 mongo 中执行原子聚合读取和更新?
我有一些格式如下的文件
我使用该last_used
字段在aggregate
查询中进行排序,以便首先提供最后使用的文档。我updateOne
在聚合之后使用以下查询来碰撞最后使用的字段。因此,每个读取请求都会更改 last_used 字段日期戳。
我遇到的问题是客户端将发出 5 个并发请求,而不是接收文档 1、2、3、4、5,例如,他们将获得 1、1、1、2、2。
我猜这是因为读取和更新之间没有锁定,因此在执行更新之前多次读取会得到相同的结果。
有没有办法解决?
使用以下聚合 nodejs 代码进行更新
问题是多个读取请求来自发出多个并发请求的同一个客户端,这意味着它们同时访问数据库并在updateOne
触发之前读取相同的数据。
mongodb - MongoDB 聚合命令到 Java 代码
这是我的 mongodb shell 命令:
效果很好。
我需要在 java 中使用这个 MongoDB 命令,并且我需要帮助才能将 MongoDB Aggregation 框架与 java 驱动程序一起使用。
当我尝试使用 java 驱动程序运行此命令时:
抛出异常,
帮助我找出错误,或提供正确的代码以使用 java Driver 运行此命令。
javascript - mongodb聚合过滤器并依靠nodejs
我有这个名为“点”的集合
我还有另一个名为“流”
我需要在要搜索email
的包含字母“o”的地方进行聚合查询。我期望的结果是这样的
我已经这样做了
如果我在 mysql 中,查询将是这个
mongodb - 使用一个查询的输出在 Mongo shell 中执行另一个查询
我正在 Mongo shell 中执行查询,并需要此查询的输出来执行第二个查询。第一个查询是求平均值的聚合查询。
第一个查询是:
现在_id (userId)
在输出中使用,我想从用户表中获取数据。
mongodb - Mongodb 在单个聚合中使用多个组运算符
我正在使用 mongodb 聚合来获取不同字段的计数。以下是mobile
收藏中的一些文件:-
我可以找到manufacturer
并rating
计算,但这失败了:
输出:-
预期输出类似于:-
javascript - Mongodb聚合,使用$group _id表达式中的变量值
我正在尝试按两个字段对文档进行分组,field1
并且field2
.
效果很好,可以产生预期的结果。
但是我想在循环中重新运行上面的内容,每次运行都会有不同$field2
的,所以下面的失败了,我该怎么做?谢谢
mongodb - MongoDb 选择所有记录并按数组排序
在 mongoDb 中,我试图通过聚合来实现“$queryResult”中提到的结果,我想从一个集合中选择所有记录并将它们排序到一个数组中,请你帮忙。
在数据库中记录
查询订单
期望的结果
ruby-on-rails - Mongo DB,删除冗余数据,如何从集合中删除重复的唯一索引
我有一个包含冗余数据的集合。
示例数据:
我运行了查询:(我必须使用allowDiskUse:true
,因为有很多数据)
我得到这个输出:(例如)
现在的问题是我只想保留一个数据。我想删除所有冗余数据。请注意,它的数据很多,比如超过 100,000 条记录之类的。我正在寻找快速简便的解决方案(在 mongodb 或 RoR 中,因为我使用的是 Ruby on Rails),如果有人可以提供帮助,将不胜感激。
mongodb - MongoDB按UNIX时间分组并计数不起作用
我有一个看起来像的文件,
我正在尝试计算某个应用程序的访问者数量。我有 64 个字段,我的查询如下所示。
即使我正在寻找几个组(因为有来自不同日期的数据)它返回为,
我在这里做错了什么吗?