各位用户为了找寻关于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 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” 博客