Mongo Shell具有bsonsize()方法来获取从数据库检索的给定文档的BSON大小。
有什么办法可以使用PyMongo驱动程序获得相同的效果吗?我已经在文档中找到了bson模块,但是我尚不清楚如何使用它来获取从DB检索到的文档的大小。
基于@SSDMS建议(谢谢!),可以使用以下命令:
len(bson.BSON.encode(document))
我已经在数据库中测试了几个文档,将mongo shell的结果与上述Python方法进行了比较,并得到了相同的结果:
在mongo shell:
> var doc1 = db.entities.findOne({'_id.id': '001'})
> var doc2 = db.entities.findOne({'_id.id': '002'})
> Object.bsonsize(doc1)
816
> Object.bsonsize(doc2)
819
在Python控制台上:
>>> import bson
>>> from pymongo import MongoClient
>>> db = MongoClient('localhost', 27017)
>>> doc1 = db['orion']['entities'].find_one({'_id.id': '001'})
>>> doc2 = db['orion']['entities'].find_one({'_id.id': '002'})
>>> len(bson.BSON.encode(doc1))
816
>>> len(bson.BSON.encode(doc2))
819
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句