Mongo 数据库聚合日期过滤器不起作用
Mongo DB aggregation date filter not working
我正在尝试通过 pymongo 过滤 MongoDB 上的日期。专门寻找“匹配”所有大于给定日期的日期。我的查询绝对正确,因为它在 MongoDB compass - aggregations 中完美查询。但是,一旦我将其添加到我的 pymongo 代码中,它 returns 就会出现零结果。所以如上所述它不起作用,所以我已经通过指南针应用程序确认,我的查询字符串实际上是正确的,请协助,我下面的代码是我用来在指南针中查询的代码,下面是我的完整聚合管道在 pymongo - 这是行不通的。 (顺便说一句:我的日期格式正确存储在 mongo - 作为“日期”)
{
// MongoDB compass code - works fine.
"date": {"$gt": new Date("2020-12-06T00:00:00.000+00:00")}
}
//Pymongo code
betdate = weekcol.aggregate([
## stage 1
{"$match":{
"date": {"$gt": new Date("2020-12-06T00:00:00.000+00:00")}
} }
])
for bdate in betdate:
print(bdate)
上面的 pymongo 代码,抛出错误:
文件“”,第 9 行
“日期”:{“$gt”:新日期(“2020-12-06T00:00:00.000+00:00”)}
语法错误:语法无效
我感觉是新的 date() 有问题,但我把它改成了 ISODate(),还是不行。
pymongo 中的等价物是:
import datetime
import pytz
filter1 = {"date": {"$gt": datetime.datetime(2020, 12, 6, 0, 0, tzinfo=pytz.utc)}}
我正在尝试通过 pymongo 过滤 MongoDB 上的日期。专门寻找“匹配”所有大于给定日期的日期。我的查询绝对正确,因为它在 MongoDB compass - aggregations 中完美查询。但是,一旦我将其添加到我的 pymongo 代码中,它 returns 就会出现零结果。所以如上所述它不起作用,所以我已经通过指南针应用程序确认,我的查询字符串实际上是正确的,请协助,我下面的代码是我用来在指南针中查询的代码,下面是我的完整聚合管道在 pymongo - 这是行不通的。 (顺便说一句:我的日期格式正确存储在 mongo - 作为“日期”)
{
// MongoDB compass code - works fine.
"date": {"$gt": new Date("2020-12-06T00:00:00.000+00:00")}
}
//Pymongo code
betdate = weekcol.aggregate([
## stage 1
{"$match":{
"date": {"$gt": new Date("2020-12-06T00:00:00.000+00:00")}
} }
])
for bdate in betdate:
print(bdate)
上面的 pymongo 代码,抛出错误:
文件“”,第 9 行 “日期”:{“$gt”:新日期(“2020-12-06T00:00:00.000+00:00”)} 语法错误:语法无效
我感觉是新的 date() 有问题,但我把它改成了 ISODate(),还是不行。
pymongo 中的等价物是:
import datetime
import pytz
filter1 = {"date": {"$gt": datetime.datetime(2020, 12, 6, 0, 0, tzinfo=pytz.utc)}}