使用python进行简单的mongodb搜索
我有一个非常小的脚本,它试图在mongodb中找到一些文档,其中某个字段有今天的日期 对我来说,作为一个noob,我似乎有一个很好的连接-但我没有得到任何结果 想知道这是否与我的日期格式有关 这是我的剧本:使用python进行简单的mongodb搜索,python,mongodb,mongodb-query,Python,Mongodb,Mongodb Query,我有一个非常小的脚本,它试图在mongodb中找到一些文档,其中某个字段有今天的日期 对我来说,作为一个noob,我似乎有一个很好的连接-但我没有得到任何结果 想知道这是否与我的日期格式有关 这是我的剧本: import pymongo from datetime import date thedate = date.today().isoformat() client = pymongo.MongoClient("mongodb://localhost:27017/") db = clie
import pymongo
from datetime import date
thedate = date.today().isoformat()
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["hotels"]
collection = db["grand_native_test"]
query = {"skaptdato": {"$gt": thedate} }
doit = collection.find(query)
print(query)
print(collection)
for x in doit:
print(x)
结果很简单:
{'skaptdato': {'$gt': '2019-05-30'}}
Collection(Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), u'hotels'), u'grand_native_test')
我花了大约4个小时在这个非常基本的剧本上,但我一辈子都搞不懂
顺便说一句:运行mongodb 3.6.3,最新的pymongo版本和python 2.7.15
顺便说一句:db字段的格式还包括分钟和秒-->2019-05-30 13:54:00.645Z
我真希望你们中的一个聪明人能给一个可怜的家伙一个暗示 我认为问题在于数据类型。例如,DB的字段包含
ISODate
类型,并与字符串
类型进行比较。将下一个代码用于MongoDB
:
{skaptdato: {'$gt': ISODate('2019-05-30')}}
为pymongo使用下一个代码:
从日期时间导入日期时间
...
您的日期字符串='2019-05-30'
date\u string\u to\u date=datetime.strtime(您的\u date\u字符串,%Y-%m-%d)
...
{'skaptdato':{'$gt':日期\u字符串\u到\u日期}
听起来很有道理。但这只会引发这样的错误:NameError:name“ISODate”没有定义,这是我的错。mongoDD为ISODate,python为datetime