mongoDb一次性获得过滤器阵列
我有mongo系列看起来像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
{ 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"
}
}
])