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
mongoDb一次性获得过滤器阵列_Mongodb_Mongodb Query - Fatal编程技术网

mongoDb一次性获得过滤器阵列

mongoDb一次性获得过滤器阵列,mongodb,mongodb-query,Mongodb,Mongodb Query,我有mongo系列看起来像 { day: '1', hour: 10:40 }, { day: '1', hour: 08:40 }, { day: '2', hour: 10:10 }, { day: '2', hour: 08:30 }, 我想得到这个结果 [{day:'1', hours:['10:40','08:40']}, {day:'2', hours:['10:10','08:30']}] 我尝试使用查询来完成此操作,但没有成功地在多个字段中输入几个小时 days= Mod

我有mongo系列看起来像

{ day: '1', hour: 10:40 },
{ day: '1', hour: 08:40 },
{ day: '2', hour: 10:10 },
{ day: '2', hour: 08:30 },
我想得到这个结果

[{day:'1', hours:['10:40','08:40']},
 {day:'2', hours:['10:10','08:30']}]
我尝试使用查询来完成此操作,但没有成功地在多个字段中输入几个小时

 days= Model.aggregate
        ([{ $group: { _id: '$day', } }])
然后每天

Model.find({day:days[0]})
如果有可能用更漂亮的方式来做这件事

我想知道如何:)

与和阶段一起使用

与和阶段一起使用


@GiladFuchs真棒!请点击复选标记“接受”答案。我得去拿那些互联网积分!我当然喜欢。在你发表评论后,我试图直接回答这个问题,但我需要等10米。@GiladFuchs真棒!请点击复选标记“接受”答案。我得去拿那些互联网积分!我当然喜欢。在你发表评论后,我试图直接回答这个问题,但我需要等10分钟。
db.collection.aggregate([
  {
    $group: {
      _id: "$day",
      hours: {
        $push: "$hour"
      }
    }
  },
  {
    $project: {
      _id: 0,
      day: "$_id",
      hours: "$hours"
    }
  }
])