加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB技术端JavaScript修改代码

发布时间:2023-10-12 15:13:55 所属栏目:系统 来源:
导读:MongoDB服务端JavaScript脚本

常用JavaScript语句

db.getSiblingDB(<dbname>)

db.getCollectionNames()

db.getCollection(<collname>)

db.printCollectionStats()

在mongo shell
MongoDB服务端JavaScript脚本
 
常用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文件打开。
 
在mongo shell启动配置文件.mongorc.js中存储JavaScript函数
 
mongodb shell默认会加载~/.mongorc.js文件,可以自定义prompt变量来修改shell提示信息。也可以将上述常用的DBA管理函数放到这里。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章