如何将objectid转换为字符串

时间:2014-10-14 06:01:07

标签: pymongo objectid

我想从ObjectId对象中获取字符串字符。我用pymongo。 例如:ObjectId("543b591d91b9e510a06a42e2"),我想获得"543b591d91b9e510a06a42e2"

我看到了文档,它说ObjectId.toString()ObjectId.valueOf()

所以我制作了这段代码:from bson.objectid import ObjectId

但是当我使用ObjectId.valueOf()时,它会显示:

  

'ObjectId'对象没有属性'valueOf'。

我怎样才能得到它?感谢。

3 个答案:

答案 0 :(得分:58)

ObjectId.toString()ObjectId.valueOf()位于Mongo JavaScript API中。

在Python API(使用PyMongo)中,正确的方法是使用你在评论中建议的pythonic str(object_id),请参阅documentation on ObjectId

答案 1 :(得分:9)

ObjectId.toString()返回ObjectId()对象的字符串表示形式。

在pymongo str(o)中获取ObjectId的十六进制编码版本。

选中link

答案 2 :(得分:-2)

对于初学者来说可能有帮助:

class Stack:
    def __str__(self):
        return "Stack"
example = Stack()

print(example)

o / p:堆栈

您将获得使用字符串魔术方法返回的所有内容作为名称而不是该ID