代码之家  ›  专栏  ›  技术社区  ›  fhulprogrammer

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

  •  -2
  • fhulprogrammer  · 技术社区  · 11 年前

    我的目标是在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 回复  |  直到 11 年前
        1
  •  0
  •   fhulprogrammer    11 年前

    在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)