如何通过 mongo-go-driver 获取集合的大小

我需要获取 mongo 数据库集合的大小。该项目是使用mongo-go-driver
用 golang 编写的。

SMILET
浏览 237回答 3
3回答

qq_遁去的一_1

我需要获取 mongo 数据库集合的大小。您可以使用collStats命令获取 MongoDB 集合的各种存储统计信息。您可以利用Database.RunCommand通过MongoDB Go 驱动程序执行数据库命令。例如:db := client.Database("databaseName")result := db.RunCommand(context.Background(), bson.M{"collStats":"collectionname"})var document bson.Merr = 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条与你的问题相关的信息。

慕桂英3389331

有两种方法可以检查这一点与CountDocuments完全相同count, err := client.Database("webshop").Collection("products").CountDocuments(context.Background(), bson.D{})并使用EstimatedDocumentCount进行估计count, err := client.Database("webshop").Collection("products").EstimatedDocumentCount(context.Background())

翻过高山走不出你

在 mongodb 中db.getCollection('collection').find({}).count()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go