Моя цель - написать mongo-запросы, где id является двоичным. У меня есть шестнадцатеричные данные, которые преобразуются в двоичную строку и передаются в запрос. мой код:Конкатенация строки и двоичных данных в python
b=binascii.a2b_hexdata('#hexadecimal string#')
query=_collection.find({'_id':b})
Это прекрасно работает. Но я хочу обобщить это для любого запроса. Я попытался это:
query_string={'a':"{'_id':"+b+"}"}
query=_collection.find(query_string)
Это бросает ошибку. Это очевидно, поскольку я пытаюсь объединить двоичные и строковые (unicode) символы. Поэтому я попробовал декодирование b с помощью utf-8, но он выдает ошибку. Есть ли способ объединить двоичные и строковые данные?
Какая версия python? Попробуйте 'b '{' _ id ':" + b + b "}" '. – jepio
не парень-монго, но просто хотел указать, что find принимает dict в настоящее время, в то время как вы сейчас пытаетесь передать ему строку. Как это должно работать? –
@jepio python 3.4 – fhulprogrammer