如何使用pymongo获取基于from和to date的文档?
How to fetch documents based on from and to date using pymongo?
我有一个大型 mongodb 集合,其中“日期”字段为:
'date': '2020-06-11 10:05:03.718804'
我想查找从日期到日期之间的文档。
Mongo中的数据:(样本集)
{
"_id":"001",
"color":"Blue",
"status":"available",
"date": "2020-06-11 10:05:03.718804"
},
{
"_id":"002",
"color":"Gold",
"status":"available",
"date": "2020-06-12 11:25:03.714804"
},
{
"_id":"003",
"color":"Violet",
"status":"available",
"date": "2020-06-13 11:25:03.714804"
},
{
"_id":"004",
"color":"White",
"status":"available",
"date": "2020-06-14 11:44:23.618704"
}
Pymongo
from datetime import datetime
from_date = "2020-06-11 10:05:03.718804"
to_date = "2020-06-13 11:44:23.618704"
details = db.collection.find({date: {$gt: from_date, $lt:to_date}})
print(details)
输出:应该列出开始日期和结束日期之间的数据。
面临错误:令牌无效,$gt 和 $lt 无效。
如何根据日期条件查找文档?
提前致谢。
您可以使用 ISODate
将字符串转换为可比较的日期。
from_date = "2020-06-11 10:05:03.718804"
to_date = "2020-06-13 11:44:23.618704"
details = db.collection.find({"date": { $gte: ISODate(from_date), $lt: ISODate(to_date)}})
print(details)
我有一个大型 mongodb 集合,其中“日期”字段为:
'date': '2020-06-11 10:05:03.718804'
我想查找从日期到日期之间的文档。
Mongo中的数据:(样本集)
{
"_id":"001",
"color":"Blue",
"status":"available",
"date": "2020-06-11 10:05:03.718804"
},
{
"_id":"002",
"color":"Gold",
"status":"available",
"date": "2020-06-12 11:25:03.714804"
},
{
"_id":"003",
"color":"Violet",
"status":"available",
"date": "2020-06-13 11:25:03.714804"
},
{
"_id":"004",
"color":"White",
"status":"available",
"date": "2020-06-14 11:44:23.618704"
}
Pymongo
from datetime import datetime
from_date = "2020-06-11 10:05:03.718804"
to_date = "2020-06-13 11:44:23.618704"
details = db.collection.find({date: {$gt: from_date, $lt:to_date}})
print(details)
输出:应该列出开始日期和结束日期之间的数据。
面临错误:令牌无效,$gt 和 $lt 无效。
如何根据日期条件查找文档?
提前致谢。
您可以使用 ISODate
将字符串转换为可比较的日期。
from_date = "2020-06-11 10:05:03.718804"
to_date = "2020-06-13 11:44:23.618704"
details = db.collection.find({"date": { $gte: ISODate(from_date), $lt: ISODate(to_date)}})
print(details)