在 Python 中使用 JSON 将查询发送到 MongoDB

发布于 2024-12-09 06:56:57 字数 339 浏览 0 评论 0原文

我正在尝试在 Python 中创建以下查询来建立与 MongoDB 的连接。

db.deal.find({"id":"11223|14589"})

通过使用编写以下代码:

import json

unique_id = "11223|14589"

query = json.dumps({"id":"%s"}) %(unique_id)

不幸的是,这创建了一个字符串,结果我没有从 MongoDB 获得任何返回结果。使用变量查询中创建的字符串手动查询实际上会返回结果。有人知道我可以做什么才能让 pymongo 正常工作吗?

I'm trying to create the following query in Python for a connection I have to MongoDB.

db.deal.find({"id":"11223|14589"})

By using the writing the following code:

import json

unique_id = "11223|14589"

query = json.dumps({"id":"%s"}) %(unique_id)

Unfortunately, this creates a string, and the results I don't get any returned results from MongoDB. Querying manually using the string that is created in variable query actually returns results. Anyone know what I might do to get this working from pymongo?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

給妳壹絲溫柔 2024-12-16 06:56:57

不确定你想在这里实现什么目标。

首先,您不必将任何内容序列化为 JSON。特别是不要在序列化后替换字符串的部分内容。

其次,unique_id 是您正在寻找的值吗?如果是这样,只需将其传递给查询:

unique_id = '11223|14589'
foo.find({'id': unique_id})

或者这两个值是您想要搜索的吗?

unique_id = '11223|14589'
ids = unique_id.split('|') # ['11223', '14589']
foo.find({'id': {'$in': ids}})

Not sure what you're trying to achieve here.

First of all, you should not have to serialize anything into JSON. Especially not replace parts of the string after it's serialized.

Second, is unique_id one value that you're looking for? If so, just pass it to the query:

unique_id = '11223|14589'
foo.find({'id': unique_id})

Or are these two values you'd like to search for?

unique_id = '11223|14589'
ids = unique_id.split('|') # ['11223', '14589']
foo.find({'id': {'$in': ids}})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文