Использование JSON в Python для отправки запроса в MongoDB - PullRequest
1 голос
/ 13 октября 2011

Я пытаюсь создать следующий запрос в Python для подключения к MongoDB.

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

Используя следующий код:

import json

unique_id = "11223|14589"

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

К сожалению,это создает строку, и результаты я не получаю никаких возвращаемых результатов из MongoDB.Запрос вручную с использованием строки, созданной в запросе переменной, фактически возвращает результаты.Кто-нибудь знает, что я мог бы сделать, чтобы это сработало от пимонго?

1 Ответ

1 голос
/ 13 октября 2011

Не уверен, чего вы здесь добиваетесь.

Прежде всего, вам не нужно ничего сериализовать в 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}})
...