Year=2023 month=4 day=28 Userdate = datetime.datetime(year,month,day)For rec in collec.find({“createdat”{"$lte”:datetime.datetime.fromisoformat(userdate)}):打印(rec)输入错误:参数必须为str”
s4n0splo1#
MongoDB将日期存储为BSON type 9,它存储自1970-01-01 00:00 UTC以来的毫秒数。这意味着年-月-日不足以作为MongoDB时间戳。不使用{$gte: datetime.date(2023,5,2)},而是使用{$gte: datetime.datetime(2023,5,2,0,0,0)}在第二种情况下,您正在查询字符串。由于mongodb查询运算符是类型敏感的,它永远不会匹配日期,请尝试:
{$gte: datetime.date(2023,5,2)}
{$gte: datetime.datetime(2023,5,2,0,0,0)}
collection.find({"create":{"$gte": ISODate("2023-04-27T19:47:00Z")}})
1条答案
按热度按时间s4n0splo1#
MongoDB将日期存储为BSON type 9,它存储自1970-01-01 00:00 UTC以来的毫秒数。
这意味着年-月-日不足以作为MongoDB时间戳。
不使用
{$gte: datetime.date(2023,5,2)}
,而是使用{$gte: datetime.datetime(2023,5,2,0,0,0)}
在第二种情况下,您正在查询字符串。由于mongodb查询运算符是类型敏感的,它永远不会匹配日期,请尝试: