Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 是否按Mongoose中的其他属性返回数组值和组的匹配记录?_Node.js_Mongodb_Express_Mongoose_Aggregation Framework - Fatal编程技术网

Node.js 是否按Mongoose中的其他属性返回数组值和组的匹配记录?

Node.js 是否按Mongoose中的其他属性返回数组值和组的匹配记录?,node.js,mongodb,express,mongoose,aggregation-framework,Node.js,Mongodb,Express,Mongoose,Aggregation Framework,我们正在使用带有NPM库的mongoDBNoSQl数据库Mongoose和Nodejs 我有一个名为“用户”的集合,文档格式如下: {user_number: 12, region:"Pune"}, {user_number: 13, region:"Mumbai"}, {user_number: 14, region:"Mumbai"}, {user_number: 15, region:"Punjab"}, {u

我们正在使用带有NPM库的mongoDBNoSQl数据库MongooseNodejs

我有一个名为“用户”的集合,文档格式如下:

{user_number: 12, region:"Pune"},
{user_number: 13, region:"Mumbai"},
{user_number: 14, region:"Mumbai"},
{user_number: 15, region:"Punjab"},
{user_number: 16, region:"Delhi"},
{user_number: 17, region:"Pune"}
我有一个
user\u Number=[12,13,14,15]
数组,因此我想返回user\u Number按区域分组的匹配记录。 用户编号数组是动态的

预期产出为:

{"data":{
 {
            "_id": {
                "region": "pune"
            },
            "count": 1,
            "region": "Pune"
        },
        {
            "_id": {
                "region": "Mumbai"
            },
            "count": 2,
            "region": "Mumbai"
        },
        {
            "_id": {
                "region": "Punjab"
            },
            "count": 1,
            "region": "Punjab"
        },
      }
}
你能找个人给我介绍一下最好的方法吗


提前谢谢

您可以在聚合管道中使用
$match
$group
来执行此操作:

db.collection.aggregate([
  {
    "$match": {
      user_number: {
        $in: [12,13,14,15]
      }
    }
  },
  {
    $group: {
      _id: "$region",
      count: {
        $sum: 1
      }
    }
  }
])

您可以在mongoplayground上尝试此功能:

您可以指导我解决此问题吗:完成-请检查。我在手机上,所以现在无法测试。