欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MongoDB服务端JavaScript脚本使用方法

程序员文章站 2022-09-05 15:36:38
常用javascript语句 复制代码 代码如下: db.getsiblingdb()   db.getcolle...

常用javascript语句

复制代码 代码如下:

db.getsiblingdb(<dbname>)  
db.getcollectionnames()   
db.getcollection(<collname>)   
db.printcollectionstats()

在mongo shell运行javascript脚本
 
切换数据库:  

复制代码 代码如下:

use <dbname>

运行如下脚本:

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函数

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” 博客