好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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脚本使用方法的详细内容...

  阅读:26次