虽然有些字段与地理位置和时间戳相匹配,但下面的查询没有给我任何结果。
我尝试将$gt
更改为$ne
,并返回所有$value
的总和。
我甚至尝试检查timeStamp
大于0.仍然没有结果。这里的时间戳是双数据类型。
db.csv2.aggregate([{
$match: {
$and: [{
loc: {
$geoWithin: {
$box: [
[-128.232422, 26.382028],
[-109.6875, 43.624147]
]
}
}
}, {
timeStamp: {
$gt: 1432201420790
}
}]
}
}, {
$group: {
_id: null,
total: {
$sum: "$value"
}
}
}]);
答案 0 :(得分:2)
给你的错误是明确的。阅读文档以了解如何实现$ gt聚合函数:documentation
基本上,条件是数组
{ $gt: ["$timeStamp", 1432201420790] }
<强> [编辑] 强> 您的问题可能来自于在代码中缺少的timestamp字段之前带有美元符号的语法。试试这个
{ $gt: ["$timeStamp", 1432201420790] }
而不是
{ timeStamp: { $gt: 1432201420790 }}