gpt4 book ai didi

mongodb - 为什么这个 MongoDB 聚合查询不返回任何内容?

转载 作者:行者123 更新时间:2023-12-02 20:55:57 24 4
gpt4 key购买 nike

我有以下聚合查询:

db.radars.aggregate([
{
$group: {
_id: '$locationId',
count: {$sum: 1}
},
},
{
$match: {
loggedAt: {
$gte: new Date('2014-01-01T00:00:00Z'),
$lte: new Date('2016-12-31T00:00:00Z')
}
}
}
]);

我肯定有符合条件的数据:

enter image description here

但我什么也没得到:

enter image description here

有人知道为什么会发生这种情况吗?

最佳答案

$group之后,管道将包含仅包含$group中定义的字段的文档:_idcount 因此没有可匹配的 loggedAt 字段。

因此,根据您要查找的输出,重新排序管道以首先执行 $match 或将 loggedAt 的累加器添加到您的 $组,因此它仍然可用。

例如:

db.radars.aggregate([
{
$group: {
_id: '$locationId',
count: {$sum: 1},
loggedAt: {$push: '$loggedAt'}
},
},
{
$match: {
loggedAt: { $elemMatch: {
$gte: new Date('2014-01-01T00:00:00Z'),
$lte: new Date('2016-12-31T00:00:00Z')
} }
}
}
]);

关于mongodb - 为什么这个 MongoDB 聚合查询不返回任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40343865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com