各位用户为了找寻关于MongoDB服务端JavaScript脚本使用方法的资料费劲了很多周折。这里教程网为您整理了关于MongoDB服务端JavaScript脚本使用方法的相关资料,仅供查阅,以下为您介绍关于MongoDB服务端JavaScript脚本使用方法的详细内容
常用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 14var 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 20db.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” 博客