登录
首页 >  Golang >  Go问答

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

来源:stackoverflow

时间:2024-04-21 22:39:35 124浏览 收藏

今天golang学习网给大家带来了《如何通过 mongo-go-driver 获取集合的大小》,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~

问题内容

我需要获取mongo数据库集合的大小。

该项目是使用 mongo-go-driver 用 golang 编写的。


解决方案


您可以使用collStats命令获取mongodb集合的各种存储统计信息。您可以利用 Database.RunCommandMongoDB Go driver 执行数据库命令。例如:

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条与你的问题相关的信息。不过 collstats 返回了更多信息,您可以在 Basic Stats Lookup 示例中查看更多信息。您还可以指定 scale 参数将字节更改为千字节,请参阅 Stats Lookup with Scale

请注意,上面的示例是使用 mongo-go-driver v1.1.x 编写的。

理论要掌握,实操不能落!以上关于《如何通过 mongo-go-driver 获取集合的大小》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>