MongoDB Application FAQ mentions个短字段名是一种可用于小文档的技术.这让我想到,"小文档到底是什么?"
我在使用pymongo,有没有办法编写一些python来扫描一个集合,并了解用于字段描述符的字节与用于实际字段数据的字节的比率?
我很好奇每个文档的基本字节开销是多少.
MongoDB Application FAQ mentions个短字段名是一种可用于小文档的技术.这让我想到,"小文档到底是什么?"
我在使用pymongo,有没有办法编写一些python来扫描一个集合,并了解用于字段描述符的字节与用于实际字段数据的字节的比率?
我很好奇每个文档的基本字节开销是多少.
没有内置的方法可以获得BSON文档中用于键的空间与用于实际字段值的空间的比率.但是,collstats和dbstats命令可以提供有关集合和数据库大小的有用信息.以下是如何在pymongo中使用它们:
from pymongo import MongoClient
client = MongoClient()
db = client.test
# print collection statistics
print db.command("collstats", "events")
# print database statistics
print db.command("dbstats")
不过,你可以随时修改一些东西,以得到一个相当好的估计.如果一个集合中的所有文档都具有相同的模式,那么类似这样的内容也不错:
现在,d是用于存储字段名的集合的总数据大小的比例.