当前位置:  开发笔记 > 编程语言 > 正文

从DB检索的文档的BSON对象大小

如何解决《从DB检索的文档的BSON对象大小》经验,为你挑选了1个好方法。

Mongo shell使用bsonsize()方法来获取从DB检索的给定文档的BSON大小.

有没有办法使用PyMongo驱动程序获得相同的?我在文档中找到了bson模块,但我不清楚如何使用它来获取从DB检索的文档的大小.



1> fgalan..:

根据@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

推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有