在python中连接字符串和二进制数据

时间:2015-02-11 18:24:11

标签: python string concatenation binary-data

我的目标是编写id为二进制的mongo查询。我有十六进制数据,它被转换为二进制字符串并送入查询。 我的代码:

b=binascii.a2b_hexdata('#hexadecimal string#')
query=_collection.find({'_id':b})

这很好用。但是我想对任何查询进行概括。 我试过这个:

query_string={'a':"{'_id':"+b+"}"}
query=_collection.find(query_string)

这会引发错误。这很明显,因为我正在尝试连接二进制和字符串(unicode)字符。所以我尝试用utf-8解码b,但它会抛出错误。有没有办法连接二进制和字符串数据?

1 个答案:

答案 0 :(得分:0)

在mongo查询表单中查询为字典。例如:

b=binascii.hexdata('/string/')
query={'id':b}
#if you want to add another condition like a.Status
query['a.status']=/your value/
result=_collection.find(query)