草庐IT

指标聚合

全部标签

javascript - MongoDB 聚合来自可调整的外部集合

订单集合中的我的文档具有_client键,它是对另一个集合中另一个实体的ObjectId引用。该集合可以是组织,也可以是用户-我的意思是-它是变量集合。如果在两个集合中都找到了_clientid,我想告诉Mongo进行查找。{$lookup:{from:"users",//couldbe"organizations"let:{"client":"$_client"},//couldbe"_organization"pipeline:[{$match:{$expr:{$eq:["$_id","$$client"]}}},],as:"client"}},{$unwind:"$client"

javascript - 使用 $match 的聚合查询在 MongoDB Compass 中有效,但在我的 Node.js 应用程序中无效

我有一个Booking模型和一个Event模型。我正在尝试查询并检查是否有任何预订已经具有特定的Event._id和User._id,以停止创建重复的预订该用户和事件。聚合查询适用于MongoDB罗盘,但是当我在Node.js应用程序中尝试查询时它只给我一个空数组模型预订constBookingSchema=newSchema({amount:{type:Number,required:'Pleasesupplyanumberofpeople',},event:{type:mongoose.Schema.ObjectId,ref:'Event',required:'Mustgivean

node.js - 如何计算组聚合的评分?

我被困在mongodb聚合上以获得评分。我已经在努力让自己成为管道。看上面数据(产品集合){"status":200,"message":null,"data":{"_id":"5cc570257631a313d489ba4a","media":["httpsdssd","dfdfd"],"comment":["5cc57f1053273c05cc60e707","5cc585bf6ff7a812e0e7d9d9","5cc5c654bc73b408787ffadc","5cc5c6e3bc73b408787ffadd"],"store":"5cc2c9710bc5d615781fcf

mongodb - 子文档中的 Mongoose 聚合管道连接字段

我有以下3个集合:1.runs:{"_id":ObjectId("5cda6191e1b7c889e0442dff"),"status":1,"runName":"MyRunTest01"}2.runsets:{"_id":ObjectId("5cda6191e1b7c889e0442e01"),"_run":ObjectId("5cda6191e1b7c889e0442dff"),"config":"Config1","suites":[{"_id":"ObjectId(5cda6191e1b7c889e0442e03"),"suiteid":ObjectId("5c748822e0

Mongodb聚合查找查询——返回所有子文档

从this开始问题,我希望根据相关子文档中的值过滤父文档列表。给定以下mongoDB集合....//'job'collection{"id":j1,"mediaID":"ABC1234"},{"id":j2,"mediaID":"DEF1234"}..和..//'task'collection//j1tasks{"id":"t1","job":"j1","taskName":"MOVE","status":"COMPLETE"},{"id":"t2","job":"j1","taskName":"PUBLISH","status":"FAILED"},//j2tasks{"id":"t

MongoDB 聚合到 $group 和 conditionally $addToSet

给定以下虚拟集合,我想提取给定资源的导出国和进口国:[{country:"France",exchange:{export:[{resource:"MILK",origin:["Toulouse","Bordeaux"]}],import:[{resource:"BEEF",origin:["Lyon","Marseille"]}]}},{country:"Spain",exchange:{export:[{resource:"PORK",origin:["Madrid","Barcelona"]}],import:[{resource:"MILK",origin:["Valencia

mongoDB 聚合 : $addToSet then $sort

我正在尝试对来自mongoDB集合(使用nodeJS驱动程序)的多个字段中的数组中的唯一值进行排序。一个小数据集:[{"_id":"5c93db3dd0184516406013f7","filters":{"genres":[{"_id":"9CXBYc4qP8sqcNMZ5","fr":"ArtAbstrait","en":"AbstractArt","de":"AbstrakteKunst","it":"Arteastratta","es":"ArteAbstracto"}],"subjects":[{"_id":"3QjL6YSfmuY6NFHGG","fr":"Abstrait

MongoDB 复杂聚合

我的数据库中有以下结构的文档:{"reading_ts":ISODate(...),"points":2.3,"user_id":2}对于每个user_id,我每天都会有更多这样的文档……数以百万计……我想实现以下聚合:获取一个月的数据将每个user_id的数据分组对每天的数据进行分组(这样我就可以得到每个user_id每天的数据)获取每个用户每天的最大“积分”统计有多少用户的最高分低于10,有多少在10到20之间,有多少超过20我可以用$match做第1步我可以使用这个来完成第3步:{"$group":{"_id":{"$subtract":["$reading_ts",{"$mod

database - 使用聚合管道对新计算的数组字段进行排序和连接

我有一个用户集合和一个角色集合。用户has_many角色和角色存储为用户文档中的id数组。现在我想根据角色值对用户进行排序。用户可以具有一个或多个角色。如果用户有多个角色,那么我希望他们用逗号分隔:'admin'admin,marketing''user,marketing'这正是我想要按字母数字字符排序的数据,例如降序:'user,marketing''admin,marketing''admin'这是我试过的:db.users.aggregate([{$lookup:{from:'roles',localField:'role_ids',foreignField:'_id',as:

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