mongodb-query相关内容

为多个日期范围聚合 $group

在我的汇总中,流中的每个文档都会有一个日期. 我需要对日期范围内的一些值求和.. 我的文档如下所示: { value: 3, date: [Some TIME STAMP] },{值:4,日期:[某些时间戳]},{值:1,日期:[某些时间戳]},{值:-6,日期:[某些时间戳]} 我希望能够根据日期范围对这些文档进行分组.即:1-7 天前、8-15 天前.15-30 天前. ..

如何在 Mongo 聚合中合并文档中的数组字段

我有一个要求,我需要对两条记录进行聚合,这两条记录都有一个具有不同值的数组字段.我需要的是,当我对这些记录进行聚合时,结果应该有一个数组,其中包含来自两个不同数组的唯一值.这是示例: 第一条记录 { Host:"abc.com" ArtId:"123", tags:[ "tag1", "tag2" ] } 第二次记录 { Host:"abc.com" ArtId:"123", tag ..
发布时间:2022-01-20 13:44:23 其他开发

如何在 MongoDB 集合中查找与给定条件匹配的文档和单个子文档

我收集了一些产品.每个产品都包含一系列项目. >db.products.find().pretty(){“_id":ObjectId(“54023e8bcef998273f36041d"),“商店":“商店 1",“名称":“产品1",“项目" : [{“日期":“01.02.2100",“购买价格":1,"销售价格" : 10,“计数":15},{“日期":“2014 年 8 月 31 日", ..
发布时间:2022-01-20 13:44:14 其他开发

具有分页数据和总计的 Mongo 聚合

我已经爬遍了堆栈溢出,但没有找到任何关于如何返回结果集中包含的正确分页数据的信息. 我正在尝试从我的 mongo 商店汇总一些数据.我想要的是有回报: {总计:5320,页:0,页面大小:10,数据: [{_id:234,当前事件:“UPSTREAM_QUEUE",事件:[{ ... }, { ... }, { ... }]},{_id:235,当前事件:“UPSTREAM_QUEUE", ..

MongoDB中的条件$查找?

我在 MongoDB 3.6 中有两个集合: 用户:[{名称:“约翰",allowedRoles:[1,2,3]},{名称:“查尔斯",allowedRoles:[1]},{名称:“莎拉",isAdmin:真}]角色:[{_id: 1, name: "Foo", description: "这个角色允许 foo the blargs"},{_id:2,名称:“酒吧",描述:“..."},{_id ..
发布时间:2022-01-20 13:41:41 其他开发

如何仅从组中查询具有最新时间戳的文档?

在我查询的 MongoDB 集合中,每个文档代表特定时间的一个项目.更新文档时,会创建一个具有相同项目 ID 和新时间戳的新文档.所有项目都有唯一的项目 ID. 为了说明,考虑这个例子.我们从一个项目的一个修订开始: {_id:x,项目编号:123,createdOn: ISODate("2013-01-30T11:16:20.102Z"),字段1:“富",字段2:“酒吧} 更新后,我们 ..
发布时间:2022-01-20 13:40:39 其他开发

比较数组并返回差异

我在运行时在内存中创建了一个数组 A,另一个数组 B 保存在 mongo 数据库中.如何有效地获取 A 中不在 B 中的所有元素? 您可以假设存储在 mongodb 中的数组比运行时创建的数组大几个数量级,因此我认为从 mongo 获取完整数组并计算结果效率不高,但我没有在 mongo 中找到任何允许我计算我想要的结果的查询操作. 请注意,$nin 运算符与我想要什么,即它从 B 中检 ..
发布时间:2022-01-20 13:39:54 其他开发

Mongodb聚合排序和组内限制

我有一组具有以下架构的待售商品: var itemSchema = new Schema({“类别":{类型:Schema.Types.ObjectId,参考:“类别"},“商人":{类型:Schema.Types.ObjectId,参考:'商人'},“评级":数字}) 我继承了一个聚合查询,它返回匹配某个类别的商品,按商家分组,分组按组中的最高评分排序: Item.aggregate([{ ..
发布时间:2022-01-20 13:39:27 其他开发

Mongo聚合匹配多个值

我有以下文件 {名称:“约翰",地址:'street 1'},{名称:'简',地址:'street 2'},{名称:“史密斯",地址:'street 3'} 我想在 mongo 聚合管道中搜索具有不同值的多个文档. 这意味着 name =('John','Smith').我期待的结果是 {名称:“约翰",地址:'street 1'},{名称:“史密斯",地址:'street 3'} ..
发布时间:2022-01-20 13:35:08 其他开发

在聚合期间从 MongoDB ISODate 中以秒为单位获取 unix 时间戳

我正在寻找这个,但我找不到任何有用的东西来解决我的问题.我想要的是在聚合期间从 MongoDB ISODate 中以秒为单位获取 unix 时间戳.问题是我可以从 ISODate 中获取时间戳,但它以毫秒为单位.所以我需要减少那些毫秒.我试过的是: >db.data.aggregate([{$match: {dt:2}},{$project: {timestamp: {$concat: [{$s ..