gpt4 book ai didi

python - 使用 python 进行简单的 mongodb 搜索

转载 作者:行者123 更新时间:2023-12-01 07:47:38 24 4
gpt4 key购买 nike

我有一个非常小的脚本,试图在 mongodb 中查找一些文档,其中某个字段具有今天的日期。

对于我来说,作为一个菜鸟,看起来我有一个很好的连接 - 但我没有得到任何结果。

想知道这是否与我的日期格式有关?

这是我的脚本:

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-release 和 python 2.7.15。

BTW-2:数据库字段的格式还包括分钟和秒 --> 2019-05-30 13:54:00.645Z ...

我当然希望你们中的一个聪明人能够给一个可怜的菜鸟一点提示。

最佳答案

我认为问题出在数据类型上。例如,DB的字段包含ISODate类型,并与string类型进行比较。对 MongoDB 使用以下代码:

{skaptdato: {'$gt': ISODate('2019-05-30')}}

使用 pymongo 的下一个代码:

from datetime import datetime
...
your_date_string = '2019-05-30'
date_string_to_date = datetime.strptime(your_date_string, '%Y-%m-%d')
...
{'skaptdato': {'$gt': date_string_to_date}}

关于python - 使用 python 进行简单的 mongodb 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56378377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com