Монго запрос в Python, если я использую переменную в качестве значения

Я пытаюсь найти документы из коллекции Монго, используя следующий запрос. db.collection_name.find({"id" : Id}) где Id - переменная, которую я получаю в качестве входных данных. Но это не работает. Если я жестко закодирую значение как это db.collection_name.find({"id" : "1a2b"}) оно работает. "id" имеет строковый тип и я использую pymongo для доступа к базе данных mongo.

код:

client = MongoClient("localhost:27017")                
db = client['sample_database']
Id = raw_input("enter id") 
cursor = db.collection_name.find({"id" : Id})

2 ответа

Попробуйте str();

Id = str(raw_input("enter id"))
cursor = db.collection_name.find({"id" : Id})

Это может помочь вам.. в python3 это работает..

Id = raw_input("enter id: ") 
cursor = db.collection_name.find({"id" : Id})
for i in cursor:
    print(i)

нет необходимости преобразовывать raw_input() в строку, потому что raw_input() уже получает ввод от пользователя в виде строки..

Другие вопросы по тегам