常用JavaScript语句
复制代码 代码如下:
db.getSiblingDB(<dbname>)
db.getCollectionNames()
db.getCollection(<collname>)
db.printCollectionStats()
在mongo shell运行JavaScript脚本
切换数据库:
复制代码 代码如下:
use <dbname>
运行如下脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
var total = 0; var dbaStatCollections = function (){};
dbaStatCollections = function (){ collNames = db.getCollectionNames(); for (var index = 0; index < collNames.length; index ++) { var coll = db.getCollection(collNames[ index ]); var stats = coll.stats(); print( 'ns,count,size,totalIndexSize' ); print(stats.ns + ',' + stats. count + ',' + stats. size + ',' + stats.totalIndexSize); } }
dbaStatCollections(); |
可将上述脚本保存为dbaStatCollections.js,
在linux shell下运行
复制代码 代码如下:
mongo localhost:27017/<dbname> dbaStatCollections.js
或在mongo shell下运行
复制代码 代码如下:
load("dbaStatCollections.js")
在服务端存储JavaScript函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
db.system.js.remove({ "_id" : "dbaStatCollections" });
db.system.js.save( { _id : "dbaStatCollections" , value : function () { collNames = db.getCollectionNames(); for (var index = 0; index < collNames.length; index ++) { var coll = db.getCollection(collNames[ index ]); var stats = coll.stats(); print( 'ns,count,size,totalIndexSize' ); print(stats.ns + ',' + stats. count + ',' + stats. size + ',' + stats.totalIndexSize); } } } );
db.loadServerScripts();
dbaStatCollections(); |
在当前JavaScript上下文中,可以使用该函数。退出该会话后,该函数不会被保存。只可在Primary执行。
备注:以上输出结果保存为CSV文件打开。
本文出自 [SQL Server Deep Dives] 博客
查看更多关于MongoDB服务端JavaScript脚本使用方法的详细内容...