具有查找功能的mongodb聚合

艾耶·布拉索(Ayeye Brazo)

我有一个与此模型相似的模型:

{
  email: String,
  name: String,
  role: String,
  location: {
    country: String,
    city: String
  },
  contacts: {
    email: String,
    phone: String
  }
}

我需要在视图中显示所有用户信息,但我也希望包括一个国家/地区的用户数。

使用aggregate我不知道如何在我创建的组上获得完整的用户。

因此,目前我正在做的是:

User.find({}, function(err, users) {
  User.aggregate([
    { $group: { _id: { country: '$location.country' }, count: { $sum: 1 }}}
  ], function(err, results) {
    res.render('home', {
      users: users,
      countries: results
    });
  });
});

如您所见,我正在使用“查找”,然后进行汇总以获取我需要的信息...但是我很确定有一种方法可以仅使用它,aggregate但我找不到方法...

蝙蝠尖叫

如果需要累积每个组的整个用户信息,则需要使用$ push运算符进行累积,并使用$$ ROOT系统变量来访问整个用户信息。

User.aggregate([
{$group:{"_id":{"country":"$location.country"},
         "users":{$push:"$$ROOT"},
         "count":{$sum:1}}}
],callback)

如果您只想累积用户信息文档的特定字段,则可以按如下所示推送必填字段:

User.aggregate([
{$group:{"_id":{"country":"$location.country"},
         "users":{$push:{"email":"$email","name":"$name"}},
         "count":{$sum:1}}}
],callback)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

mongoDB:聚合-本机node.js驱动程序是否具有与$ lookup连接等效的功能?

来自分类Dev

如何在Mongodb中仅获取具有聚合功能的最新文档?

来自分类Dev

Powershell是否具有聚合/还原功能?

来自分类Dev

具有聚合功能的MySQL Case语句

来自分类Dev

具有聚合功能的SQL更新查询

来自分类Dev

具有聚合功能的SQL HAVING子句?

来自分类Dev

具有计数聚合功能的JPA查询

来自分类Dev

具有聚合功能的更新语句

来自分类Dev

具有聚合功能的SQL更新查询

来自分类Dev

具有嵌套对象数组的MongoDB聚合

来自分类Dev

具有自然顺序的Mongodb聚合

来自分类Dev

具有多个阵列的MongoDB聚合

来自分类Dev

具有多个键的MongoDB聚合

来自分类Dev

Mongodb聚合与具有多个键的联接

来自分类Dev

具有多个分组的MongoDb聚合管道

来自分类Dev

具有 mongodb 聚合的多个组

来自分类Dev

具有引用集合的 Mongodb 聚合

来自分类Dev

Mongodb聚合查找2级别,创建了结果的新条目,而不是仅填充具有objectId的列

来自分类Dev

MongoDB聚合功能

来自分类Dev

MongoDB聚合性能功能

来自分类Dev

熊猫:聚合具有多个功能的多列

来自分类Dev

具有聚合功能的lambda表达式

来自分类Dev

定制的聚合功能,在dcast中具有多个输入

来自分类Dev

具有向量功能的数据表聚合,取2

来自分类Dev

弹性搜索:具有聚合功能的ngram过滤器

来自分类Dev

选择具有聚合功能的前1行

来自分类Dev

具有计数和分组功能的猫鼬聚合

来自分类Dev

查找数组内的所有文档-MongoDB聚合

来自分类Dev

Mongodb查找聚合未获取所有字段值