Tag: mongodb aggregation

MongoDB使用聚合$查找join两个集合,或者在Node.js中填充

这里有两个集合的架构 var activitySchema = new Schema({ activity_id: {type: String, index: {unique: true}, required: true}, begin_date : String, … }) var registrationSchema = new Schema({ activity_id: {type: String, index: {unique: true}, required: true}, registration_id: {type:String, trim: true, index: true ,required: true }, email : String, … }) 我想在同一个查询中的activity.begin_date , registration.id , registration.email 。 我能怎么做? 我在网上find了一些解决scheme,但是仍然不知道是使用填充还是聚合$lookup (这个看起来是新的)。 […]

在$ project阶段中重塑文档

对于我们的collections,看起来像这样: > db.companies.find().limit(1).pretty() { "_id": ObjectId("52cdef7c4bab8bd675297d8b"), "name": "AdventNet", "permalink": "abc3", "crunchbase_url": "http://www.crunchbase.com/company/adventnet", "homepage_url": "http://adventnet.com", "blog_url": "", "blog_feed_url": "", "twitter_username": "manageengine", "category_code": "enterprise", "number_of_employees": 600, "founded_year": 1996, "deadpooled_year": 2, "tag_list": "", "alias_list": "Zoho ManageEngine ", "email_address": "pr@adventnet.com", "phone_number": "925-924-9500", "description": "Server Management Software", "created_at": ISODate("2007-05-25T19:24:22Z"), "updated_at": "Wed Oct 31 18:26:09 UTC 2012", "overview": "<p>AdventNet is now […]

使用$ group在mongodb node.js中查找

我想通过order集合中的user_id进行分组,其中有很多条目,但是我想获取订单数量最多的五位用户,并总结特定用户的总体价格。 例如,如果我发了10个订单,我想取我的ID和我所有订单的总和。 我用下面的代码,但它不工作: Order.find({$group : { user_id : "$user_id"}},function(error,fetchAllTopUsers){ console.log('##################'); console.log(fetchAllTopUsers); }) 我已经检查了这个例子,但是他们没有使用$group查找。 我在Node.js和MongoDB中是新的。 与mongoose查询和总结 示例文档 { user_id : '57c7f4312b3c9771219bd21c', totalprice : 100 }, { user_id : '57c7f4312b3c9771219bd21c', totalprice : 59 }, { user_id : '57c7f4312b3c9771219bd21c', totalprice : 26 }, { user_id : '57c7f4312b3c9771219bd21c', totalprice : 533 }, { user_id : '57c7f4312b3c9771219bd21c', totalprice : 544 […]

节点与mongoose聚合和总和嵌套字段

当我对我的集合进行查询时 models.Project.find(function(err, result) { //result = doc below }).populate('media') …我得到这个结果: { _id: 57f36baa6cf34d079c8474a0, code: 'ZMIA', __v: 0, media:[ { _id: 57f36bb26cf34d079c847766, project_code: 'ZMIA', amount: 228, __v: 0 }, { _id: 57f36bb26cf34d079c84775c, project_code: 'ZMIA', amount: 250, __v: 0 } ] }, { _id: 57f36baa6cf34d079c8474a1, code: 'ZMJU', __v: 0, media: [] } media是一个参考领域。 如何将嵌套的媒体对象(如果存在)聚合到$sum amount字段并将结果按project_code分组?

如何在mongoDB中从hh:mm到hh:mm两次过滤数据

mongoose var filter = {}; filter.strBillDate = { "$gte": new Date(req.params.fromdate), "$lt": new Date(req.params.todate) }; return Sales .aggregate([{ $match: filter }, { "$project": { "strBillNumber": 1, "strBillAmt": 1, "store_id": 1, "strBillDate": 1, "hourPart": { "$hour": "$strBillDate" }, "minutePart": { "$minute": "$strBillDate" }, } }, { "$match": { "hourPart": { "$gte": fromhour, "$lte": tohour } } […]

在mongo数据库投影中的聚合查询操作

我正在研究searchfunction。 我有一个对象包含键值对中的数据,其中键是对象的ID,值是我用一些后台进程计算的分数。 所以我在search数据期间的情况下,我必须添加新的分数之前计数的分数。 我正在为我的search操作使用聚合。 以下是我的代码片段。 文件 { "_id": ObjectId("57de00eb0b1e50fa66290198"), "id": "205332", "Title": "The relationship between bispectral index values and age in children", "title": "Bispectral index values during general anesthesia in children", "OutcomesAvailable": "No", "DateStart": "2011-03-10T00:00:00-06:00", "DateEnd": { "type": "actual", "value": "2012-05-01T00:00:00-05:00" }, "DateChangeLast": "2014-07-21T11:39:54-05:00", "gender": "N/A", "highAge": NumberInt(12), "lowAge": 0.5, "recordType": "xxxxxxxx", "__v": NumberInt(0) } […]