Как я могу сделать запрос Mongodb (или найти ()) с помощью переменной Python?

0

Мне нужно передать данные из базы данных MySQL to MongoDB. У меня есть запрос Mysql с несколькими данными:

SELECT data FROM table where data BETWEEN r1 AND r2 

что я сохранен в списке

поэтому моя проблема в том, что когда я пытаюсь найти данные в mongodb (данные были в), я сделал это: datamongo = collection.find({"data": data[x]}) и результат ничего, буквально.

Мне нужно создать цикл с диапазоном списка и искать все данные в списке в mongodb. Я пытался с find() and find_one() но никто из них не работает. НО все работает, если я ставлю константу вместо переменной.

Надеюсь, кто-нибудь может мне помочь

Теги:
find

1 ответ

0

Вот часть regex. Вы должны использовать это значение таким образом, как описано ниже

collection.find({"data" : new RegExp(data[x], 'i')})

Или вы также можете использовать

collection.find( { 'data' : { '$regex' : data[x], '$options' : 'i' } } )

Обратите внимание, что i в RegExp, это просто для нечувствительности к регистру. Удалите его, если хотите строгое сравнение.

Надеюсь, поможет.

Спасибо

  • 0
    Здравствуй. Спасибо за ответ. Я пытаюсь с этим, но у меня все еще есть проблема. code: datasql = cursor.fetchall () query = str (datasql [0]) datamongo = collection.find_one ({"datetime": {"$ regex": query, "$ options": "i"}, "zone" : "MX"}, {"datetime": 1}) data = str (datamongo) print (data) и консоль вывести "none"
  • 0
    это потому что это асинхронно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню