当前位置: 首页 > 编程笔记 >

MongoDB服务端JavaScript脚本使用方法

秦景福
2023-03-14
本文向大家介绍MongoDB服务端JavaScript脚本使用方法,包括了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文件打开。
本文出自 “SQL Server Deep Dives” 博客

 类似资料:
  • SRS不支持服务器端脚本,所谓服务器端脚本,指的是服务器可以加载外部脚本文件,解释并执行。 支持服务器脚本的服务器有FMS,语言是actionscript1.0;nginx支持的是lua。 SRS不支持服务器脚本的原因有: 不Simple:违反了SRS(Simple RTMP Server)的第一个S,支持扩展脚本,出错的几率也扩展了。 实际用处很小:我在国内知名的CDN公司工作时,所在部门就是用

  • 嗨,我在试图理解如何使用datatables进行服务器端处理时遇到了一些主要问题。在某些背景下,我使用一个服务调用Gamesparks为视频游戏创建后端,在这个服务中,他们有一个mongodb的实现。 我有一个endpoint可以获取所有用户,我可以在表中看到他们,但问题是我获取了所有用户,如何实现分页?。在文档中,他们声明我们必须将serverSide设置为true,但不起作用。我真的不知道如何

  • 问题内容: 我有一个非常简单的Python文件python1.py,其内容为: 我希望从JavaScript执行此操作,如下所示: 但是,所有发生的是,我得到了警告,向我显示了Python脚本的内容。没有创建文件C:\ Temp \ test.txt,因此很明显,Python未执行。 我如何说服代码执行Python脚本,而不仅仅是阅读它? 问题答案: 您是否可以直接从浏览器执行脚本。与jquery

  • 我授予所有特权。这是脚本: 我在浏览器中看到以下消息: 警告:mysqli::mysqli():(HY000/1045):在C:\xampp\htdocs\web-datos\connect\u-mysql中,用户“username”@“localhost”(使用密码:YES)的访问被拒绝。php第11行 拒绝访问用户“username”@“localhost”(使用密码:YE 我试图联系但没有成

  • 什么是 MongoDB MongoDB 是一个高性能、开源、无 Schema 的 NoSQL 数据库管理系统,常被用于高流量网站,在线游戏网站和搜索引擎的大规模数据管理和分类。它支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝