我有一个可以在mongo shell中运行的mongodb查询:
db.collection.find({ created_at: { $gte : ISODate("2015-03-01T00:00:00.000Z"), $lt : ISODate("2015-03-30T00:00:00.00Z") } })
我正在尝试下面的pymongo:
test_range = agents.coll.find({ "created_at" : { "$gte" : "ISODate('2015-03-01T00:00:00.000Z')", "$lt" : "ISODate('2015-03-30T00:00:00.00Z')" } })
我正在SyntaxError: invalid syntax
在pymongo查询中处理ISODate的正确方法是什么?
答案 0 :(得分:10)
日期在MongoDB中存储为ISODate,但是当您使用Pymongo时,日期将转换为Python Datetime对象。因此,使用Pymongo,您的查询应如下所示:
test_range = agents.coll.find({ "created_at": {"$gte" : datetime(2015, 3, 1), "$lt": datetime(2015, 3, 30)}})
答案 1 :(得分:1)
使用isoformat()
。示例dt = datetime.datetime.now().isoformat()
。