如何测试ObjectID与python中的十六进制字符串

时间:2015-05-11 20:49:50

标签: python mongodb python-2.7

我正在尝试编写一个通用方法,用于从一个单独的mongodb集合(B)查询一个关于id的mongodb集合(A)。这是我到目前为止所做的:

def getOtherCollInfo(self, otherCollObj, queryField, outputField="_id"):

    selfIdList = self.getIds() # gets a set of ids from whole collection (B)
    returned_dict = {}
    for selfId in selfIdList:
        curs_obj = otherCollObj.find({queryField : str(selfId)}).distinct(outputField) #otherCollObj is the 'collection (A)
        temp_list=[]
        for obj in curs_obj:
            temp_list.append(obj)
            returned_dict[selfId]=temp_list
    return returned_dict

这适用于query_field看起来像的集合A:

542de00c763f4a7f558be12f

在第三个集合(C)上尝试此方法时,它失败了(我认为),因为query_field只是十六进制:

ObjectId('542de00c763f4a7f558be12f')

有没有办法测试id的格式,以便我可以使该方法更通用?

0 个答案:

没有答案