如何将MongoEngine Document对象转换为BSON?

时间:2013-04-04 14:51:47

标签: api mongoengine bson

MongoEngine中的Document类似乎没有“to_bson”函数:

from mongoengine import *

class MyDoc(Document):
    foo = StringField()
    bar = IntField()

doc = MyDoc.objects.create(foo=u"Hello World")

print "Document BSON length is:", len(doc.to_bson())  # fails : no "to_bson"

任何解决方案?

2 个答案:

答案 0 :(得分:1)

您可以使用doc.to_mongo()获取字典,pymongo.bson.BSON.from_dicthttp://api.mongodb.org/python/1.7/api/pymongo/bson.html获取bson.MongoEngine是pymongo的包装。

答案 1 :(得分:1)

关于上述答案。请注意,现在不推荐使用BSON.from_dict()。

" DEPRECATED - from_dict已重命名为编码。

版本1.9中的更改:不推荐使用encode()"

来自http://api.mongodb.org/python/1.10/api/bson/index.html