Pymongo 查询日期失败

时间:2021-04-27 13:53:08

标签: python-3.x mongodb mongodb-query pymongo

我有一个在 mongodb compass 中运行良好的查询,但是当我将它引入 Jupyter 时,它就中断了。问题与日期过滤器有关。

我都试过了:

cursor = prod_db.my_collection.find({"date": {"$eq": "new Date('2021-04-26')"}, "type": "Regular"})

以及

cursor = prod_db.my_collection.find({"date": "new Date('2021-04-26')", "type": "Regular"})

如果我删除日期查询,我会得到一个我期望的返回,它验证数据库连接设置正确并且“类型”过滤器有效。我在这里错过了什么?

2 个答案:

答案 0 :(得分:1)

--------------------- | Username | Type | | --------------------| | Ash | Poison | | --------------------| | Ash | Normal | | --------------------| | Brock | Psychic | | --------------------| | Misty | Rock | | --------------------| | Jenny | Fighting | -------------------- 是 MongoShell 的日期关键字。 您应该将其替换为 python 的内置 new Date 包。

datetime

答案 1 :(得分:0)

在 python 和 Mongo 之间映射日期列的问题主要是因为 Mongo 将日期存储为 JavaScript 日期对象,然后将 ISODate 格式包装在它周围。但是,如果我们尝试从 python 传递到 mongo 的日期值是日期时间格式(如上面提到的@hhharsha36),那应该很好

当我使用来自 Pandas 和 python 变量的日期并使用它在 Mongo 中查询/插入/更新时,我发现这篇文章很有帮助:(https://medium.com/nerd-for-tech/how-to-prepare-a-python-date-object-to-be-inserted-into-mongodb-and-run-queries-by-dates-and-range-bc0da03ea0b2)

相关问题