我有文档将category字段作为字符串数组,例如{name:"aaa",categories:["apple","banana","peach"]},{name:"bbb",categories:["apple","orange"},{name:"ccc",categories:["apple","peach"]}...在结果中,我需要有一个对象数组,该对象数组具有类别中每个唯一值的聚合值和该类别的出现次数,如下所示:[{category:"apple",qty:3},{category:"banana",qty:1},{category:"peach",qty:2},{catego
我有以下集合,代表成员(member)去健身房时的刷卡记录。{"_id":ObjectId(""),"content":{"Date_Key":"","TRANSACTION_EVENT_KEY":"","SITE_NAME":"","Swipe_DateTime":"","Gender":"","Post_Out_Code":"","Year_Of_Birth":"","Time_Key":"","MemberID_Hash":"","Member_Key_Hash":"","Swipes":""},"collection":"observations"}我想返回给定月份内每次健身房
每次我将文档添加到MongoDB集合时,我都会保存当前时间Date.now()。假设这3个文档具有以下格式:#Doc1{date:ISODate("2017-01-25T09:47:40.000Z"),reports:5}#Doc2{date:ISODate("2017-01-24T09:47:40.000Z"),reports:5}#Doc3{date:ISODate("2017-01-23T09:47:40.000Z"),reports:5}基本上,数学公式是(总报告)除以(从最早的日期到今天的天数)。使用mongoshell执行此聚合的最简单/最快的方法是什么?谢谢!
需要从nodejs和mongodb中的集合中获取ArticleId的计数/*1*/{"_id":ObjectId("5836d0f7f8462cbc6d0caffc"),"DeviceId":"abcd1234","AppType":"web","UserId":"5836cb01f8462cbc6d0caff8","ArticleId":"5836cb01f8462cbc6d0caff8","Timestamp":ISODate("2016-11-24T11:37:27.851Z")}/*2*/{"_id":ObjectId("5836e5f617632727286475e0"),"
我正在尝试在排列内容日期小于和大于我给出的特定输入的所有文档中获取数组计数。我以多种方式编辑了以下查询,但没有一种不会得到我预期的结果。db.user_log.aggregate({$match:{"user_id":"2"}},{$unwind:"$meta_data.access_times"},{$group:{_id:"$user_id",number:{$sum:1}}})上面的查询给出了所有文档中给定user_id的数组计数总和。结果如下。{"_id":"2","number":26.0}如何在上述查询中使用gt和lt?我的数组-"access_times":[ISODat
我的数据库中有以下结构,为此我需要计算Tripduration并在每个相应的"EndStation"下方引入一个新字段,这给出了"Tripcount"基于Tripdurations的数量。"_id":1,"Tripcount":4,"Trips_out":[{"EndStation":3119,"Tripcount"://Thisshouldbe3"Tripduration":[544,364,34]},{"EndStation":3081,"Tripcount"://Thisshouldbe1"Tripduration":[835]}我从以下查询开始,但这个查询针对所有行程持续时间进
我正在尝试使用mongodb聚合查询来连接($lookup)两个集合,然后对连接数组中的所有唯一值进行不同计数。所以我的两个集合看起来像这样:事件-{"_id":"1","name":"event1","objectsIds":["1","2","3"],}对象{"_id":"1","name":"object1","metaDataMap":{"SOURCE":["ABC","DEF"],"DESTINATION":["XYZ","PDQ"],"TYPE":[]}},{"_id":"2","name":"object2","metaDataMap":{"SOURCE":["RST",
我希望能够获取某些值,并根据哪个键具有特定ID来计算这些值在集合中的次数。例如,这是来自游戏日志集合的单个文档的示例{"_id":"5af88940b73b2936dcb6dfdb","date":"2018-05-13T18:51:44.548Z","playerOne":"5af888d0b73b2936dcb6dfd3","playerOneThrew":"Scissors","playerTwo":"5af88918b73b2936dcb6dfd7","playerTwoThrew":"Rock","winner":"5af88918b73b2936dcb6dfd7","__v
我有如下三个不同的文档{"category":"aaaaa","summary":{"details":{"city":"abc""year_of_reg":"2012","dept":"dev"}}}{"category":"bbbb","summary":{"details":{"city":"abc","year_of_reg":"2016","dept":"dev"}}}{"category":"aaaaa","summary":{"details":{"dept":"ui","year_of_reg":"2018"}}}我想根据摘要下详细信息中可用的键对结果进行分组,并根据类
在mongodb中,经过几个$match和$project,我得到以下2个文件。我试图弄清楚如何将每个事件的每个组中每个团队的状态列表分组/计数在一起。简而言之,我需要知道每个州有多少支球队(0、1或2)。我从以下文件开始。{"_id":"event1","groups":[{"_id":"group1","wlActive":true,"teams":[{"state":NumberInt(2)},{"state":NumberInt(2)},{"state":NumberInt(1)},{"state":NumberInt(1)},{"state":NumberInt(1)},{"