3 回答

TA贡献1725条经验 获得超7个赞
我需要获取 mongo 数据库集合的大小。
您可以使用collStats命令获取 MongoDB 集合的各种存储统计信息。您可以利用Database.RunCommand通过MongoDB Go 驱动程序执行数据库命令。例如:
db := client.Database("databaseName")
result := db.RunCommand(context.Background(), bson.M{"collStats":"collectionname"})
var document bson.M
err = result.Decode(&document)
if err !=nil {
panic(err)
}
fmt.Printf("Collection size: %v Bytes\n", document["size"])
fmt.Printf("Average object size: %v Bytes\n", document["avgObjSize"])
fmt.Printf("Storage size: %v Bytes\n", document["storageSize"])
fmt.Printf("Total index size: %v Bytes\n", document["totalIndexSize"])
上面的例子只打印了4条与你的问题相关的信息。

TA贡献2036条经验 获得超8个赞
有两种方法可以检查这一点
与CountDocuments完全相同
count, err := client.Database("webshop").Collection("products").CountDocuments(context.Background(), bson.D{})
并使用EstimatedDocumentCount进行估计
count, err := client.Database("webshop").Collection("products").EstimatedDocumentCount(context.Background())
- 3 回答
- 0 关注
- 153 浏览
添加回答
举报