gpt4 book ai didi

python - 获取收集字节使用情况统计信息的pymongo方法?

转载 作者:IT老高 更新时间:2023-10-28 13:14:59 25 4
gpt4 key购买 nike

MongoDB Application FAQ mentions短字段名称是一种可用于小型文档的技术。这让我想到,“什么是小文档?”

我正在使用 pymongo,有什么方法可以编写一些 python 来扫描集合,并了解用于字段描述符的字节与用于实际字段数据的字节的比率?

我也很好奇每个文档的基本字节开销是多少。

最佳答案

没有内置方法可以获取 BSON 文档中键使用的空间与实际字段值使用的空间的比率。但是,collstatsdbstats命令可以为您提供有关集合和数据库大小的有用信息。以下是如何在 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")

不过,您总是可以破解一些东西以获得一个相当不错的估计。如果集合中的所有文档都具有相同的架构,那么这样的事情还不错:

  1. 统计一个文档的字段名称中的字符总数,并将这个数字称为a
  2. 为每个字段添加一个到 a 以说明终止字符。让结果为b
  3. b乘以集合中的文档数,结果用c表示。
  4. c 除以 collStats 返回的“size”字段(假设 collStats 被缩放以返回以字节为单位的大小)。让这个值为d

现在d是用于存储字段名称的集合的总数据大小的比例。

关于python - 获取收集字节使用情况统计信息的pymongo方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com