jjzjj

Aggregation

全部标签

node.js - MongoDb $addFields 和 $match

在我的mongodb查询中,我使用$addFields添加ID字段,该字段连接了其他三个字段。我的问题是,如果我将新添加的字段与我要查询的值匹配,我将得不到任何结果。对于其他领域,它们工作得很好。orderofaggregationwhatisinaggregationdata=awaitmodel.aggregate([{$project:{projectName:1,price:1,'document':'$$ROOT'}},{$addFields:{'document.id':{$concat:['$document.propertyId.prefix','$document.p

javascript - 创建一个依赖于当前时间的 mongo View

我有一个包含日期字段的集合,我想创建一个按当前日期过滤所有文档的mongoView。例如,我希望我的View包含最近7天的所有文档。我有一个使用聚合管道创建View的javascript脚本。我使用javascript方法-newDate()来写入最近7天的情况:{"$lt":[{"$subtract":[newDate(),"$DateOfDocument"]},//differenceinmilliseconds1000*60*60*24*7//7daysinmilliseconds]}但是当我执行创建View的脚本时,mongo计算“newDate()”然后创建View,结果“n

mongodb - 具有多个字段的 Spring Data MongoDB 推送操作不起作用

我在MongoDB中有一组数据对象-[{"status":"passed","version":"124","value":6},{"status":"passed","version":"123","value":10},{"status":"failed","version":"123","value":16}]我想以这样的格式获取它-[{version:124,"series":[{"name":"passed","value":6}]},{version:123,"series":[{"name":"passed","value":10},{"name":"failed","v

mongodb aggregation : if value of two fields match, 将相应字典的另一个字段的值添加到新字段

在三个集合中使用聚合查找后,我得到以下结果。[{_id:"henten",location:"someplace",devices:[{"d_id":'d0001',"z_id":'z2001'},{"d_id":'d0002',"z_id":'z2002'}],store:[{"z_name":'vera',"z_id":'z2001'},{"z_name":'ghora',"z_id":'z2002'}]}]如果devices.z_id与store.z_id匹配,我需要将“d_id”的值作为数组推送到“store”的字典中,并添加到名为“DID”的新字段中。我尝试了以下方法:{$a

mongodb - 如何更快地执行此 mongoDB 查找聚合?

我想在Robo3T上运行以下mongoDB查询,但需要很长时间才能得出结果:db.getCollection('check').aggregate([{$match:{$and:[{datetime:{"$gt":newISODate("2019-07-0101:00:10.000Z")}},]}},{$lookup:{from:"workstation",localField:"deviceid",foreignField:"_id",as:"workstation"}},{$unwind:{path:"$workstation",preserveNullAndEmptyArrays

mongodb - Spring Data MongoDB - 聚合框架 - 组操作中的无效引用

我使用SpringData(1.3.0.RC1)访问我们的MongoDB,对于一些新查询,我想使用聚合框架。在mongoshell中,命令是:db.spotreports.aggregate({"$unwind":"$pd"},{"$group":{"_id":"$pd.PDch","base":{$sum:"$pd.aBL"},"uplift":{$sum:"$pd.up"}}}){"result":[{"_id":5,"base":529133,"uplift":21516},...我使用的Spring代码是:Aggregationagg=Aggregation.newAggreg

java - Spring 数据 MongoDB : aggregation framework - sort with nested property throws invalid reference

我找到了thisarticleinSpringForum这显然部分讨论了相同的问题,但没有回答我的问题。给定以下文档...{"_id":{"$oid":"5214b5d529ee12460939e2ba"},"title":"thisismytitle","tags":["fun","sport"],"comments":[{"author":"alex","text":"thisiscool","createdAt":1},{"author":"sam","text":"thisisbad","createdAt":2},{"author":"jenny","text":"thisi

mongodb - 按多个字段对值进行分组

我有这些文件:{"Sigle_1":"BIOS","Sigle_2":"BFTA"},{"Sigle_1":"BERP","Sigle_2":"BEST"},{"Sigle_1":"BHDL","Sigle_2":"BIOS"},{"Sigle_1":"BIPM","Sigle_2":"BEST"},{"Sigle_1":"BHDL","Sigle_2":"BIOS"}我如何发出一个请求,它将连接Sigle_1和Sigle_2以及组值reslut?预期结果示例:{"Sigle":"BIOS",},{"Sigle":"BFTA",},{"Sigle":"BERP",},{"Sigle":

java - 在 Spring MongoDB 的 ReplaceRoot 管道阶段使用 $mergeObjects

我希望将此代码片段重现为Java代码:db.getCollection('admins_comptes_client_ceov4').aggregate([{$lookup:{from:"contrats_ceov4",localField:"CUSTOMERNUMBER",foreignField:"CUSTOMERNUMBER",as:"arrayForeignObject"}{$unwind:{path:"$arrayForeignObject",preserveNullAndEmptyArrays:true}},{$replaceRoot:{newRoot:{$mergeObj

javascript - 如何获取 mongodb 聚合上所有条目的对象数组的值重复计数

我有这样的数据结构:{"_id":ObjectId("5c4404906736bd2608e30b5e"),"assets":[{"name":"xa","id":1},{"name":"xs","id":2}]},{"_id":ObjectId("5c4404906736bd2608e30b5f"),"assets":[{"name":"xa","id":3}]},{"_id":ObjectId("5c4404906736bd2608e30b5g"),"assets":[{"name":"xa","id":4},{"name":"xd","id":5},{"name":"xs","i