千家信息网

mongodb批量查询库中表的统计信息

发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,在mongodb中,查看一个表的统计信息一般用:db.t.stats()主要信息有: "ns" : "gqtest.t","count" : 40001, ###行数"size" : 21
千家信息网最后更新 2024年10月07日mongodb批量查询库中表的统计信息
在mongodb中,查看一个表的统计信息一般用:
db.t.stats()主要信息有:  "ns" : "gqtest.t","count" : 40001,      ###行数"size" : 2188945,     ###数据大小单位字节"storageSize" : 1126400,   "totalIndexSize" : 1851392,  ###总索引大小"indexSizes" : {"_id_" : 753664,"age_1_name_1" : 1097728},"avgObjSize" : 54.72225694357641,"nindexes" : 2,            ###索引个数


提前将获取到的表名写入:college.txt文件。主要是通过正则匹配,可以自己测试,加以调整。

#!/bin/bashuser=adminpasswd=123456database=gqtestaddres=/opt/mongodb3.2.13/bin/mongofile=mongo_data.csvfor i in `cat college.txt`    do    college_name=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep ns |awk 'NR==1{print $3}' `    count=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep count |awk 'NR==1{print $3}' `    size=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep size |awk 'NR==1{print $3}'`    index_num=` $addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database  --eval "db.$i.stats()" |grep nindexes |awk 'NR==1{print $3}' `    indexsize=`$addres --port 7211 -u$user -p$passwd --authenticationDatabase=admin $database --eval "db.$i.stats()" |grep        totalIndexSize |awk 'NR==1{print $3}'`echo -e  "$college_name    $count    $size $index_num $indexsize\n" >> $filedone
0