MongoDB服务端JavaScript脚本使用方法
程序员文章站
2022-05-01 19:31:01
常用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” 博客