(翻译) MongoDB(20)配置 mongo Shell

news/2024/11/7 18:28:10

自定义提示

你可以通过在 mongo shell 中设置变量 prompt 来修改提示的内容. prompt 变量可以保存字符串以及 JavaScript 代码. 如果 prompt 包含返回字符串的函数, mongo 可以在每个提示中显式动态信息.

你可以在 .mongorc.js 文件中添加提示的逻辑以便在你每次启动 mongo shell 的时候进行提示.

自定义提示去显示操作的数量

例如, 创建一个在当前会话中显示带有操作执行数量的 mongo shell 提示, 在 mongo shell 中定义下面的变量:

cmdCount = 1;

prompt = function() {
    return (cmdCount++) + "> ";
}

然后提示将会类似以下内容:

1>
2>
3> 

自定义提示显示数据库名和主机名

<database>@<hostname>$ 的形式创建 mongo shell 提示符, 定义以下变量:

host = db.serverStatus().host;

prompt = function() {
    return db+"@"+host+"$ ";
}

然后提示将会类似以下内容:

test@myHost1$

自定义提示运行时间和文档数量

创建包含系统运行时间和当前数据库的文档数量的 mongo shell 提示, 在 mongo shell 中定义下面的 prompt 变量:

prompt = function() {
    return "Uptime:"+db.serverStatus().uptime+" Documents:"+db.stats().objects+" > ";
}

然后提示将会类似以下内容:

Uptime:5897 Documents:6 >

mongo shell 中使用外部编辑器

在启动 mongo shell 之前, 你可以设置 EDITOR 环境变量以便于在 mongo shell 中使用你自己的编辑器.

export EDITOR=vim
mongo

进入 mongo shell, 你就可以通过输入 edit <variable> 或者 edit <function>, 使用指定的编辑器进行编辑, 如下所示:

  1. 定义一个函数 myFunction:

    function myFunction () { }
  2. 使用你的编辑器编辑函数:

    edit myFunction

    这个命令应该会打开 vim 编辑会话. 当编辑结束, 保存并对退出 vim 编辑会话.

  3. 在 mongo shell, 输入 myFunction 来查看定义的函数.

    myFunction

    结果应该是你保存编辑的修改:

    function myFunction() {
        print("This was edited");
    }

注意:
由于 mongo shell 可以在外部编辑器解释编辑的代码, 所以可以修改函数中的代码, 这个取决于 JavaScript 编译器. 对于 mongo 可以将1+1转化为2或者删除评论. 实际的代码仅仅影响代码的外观, 并且将根据所使用的JavaScript版本而变化, 但不会影响代码的语义.

改变 mongo Shell 批处理大小

db.collection.find() 是从一个集合中检索文档的 JavaScript 方法. db.collection.find() 方法返回一个游标到结果. 然而, 在 mongo shell, 如果返回的游标没有分配给使用 var 关键字定义的变量. 然后游标会自动迭代20次, 以便输出匹配查询的前20个文档. mongo shell 会提示 Type it 再迭代20次.

你可以设置 DBQuery.shellBatchSize 属性去改变默认值是20的文档数量. 在下面的示例将其设置为10:

DBQuery.shellBatchSize = 10;

下一章: https://segmentfault.com/a/11...
本文地址: https://docs.mongodb.com/manu...


http://www.niftyadmin.cn/n/4255183.html

相关文章

C++sprintf()函数

在将各种类型的数据构造成字符串时&#xff0c;sprintf 的强大功能很少会让你失望。由于sprintf 跟printf 在用法上几乎一样&#xff0c;只是打印的目的地不同而已&#xff0c;前者打印到字符串中&#xff0c;后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 s…

数组下拉框php,php利用数组填充下拉列表框

这篇文章主要介绍了php使用数组填充下拉列表框的方法,涉及php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下本文实例讲述了php使用数组填充下拉列表框的方法。具体实现方法如下&#xff1a;<?php $data array((object)array("titulo">"For…

js获取url传参

var url document.location.toString();var arrUrl url.split("?");ar para arrUrl[1];var can para.split("");var cq can[1];document.getElementById("cq").src cq;转载于:https://blog.51cto.com/cqing/1867642

常见的排序算法C#版

1 #region 冒泡排序算法 2 //首先将所有待排序的数字放入工作列表中 3 //从列表的第一个数字到倒数第二个数字&#xff0c;逐个检查&#xff1a;若某一位上的数字大于他的下一位&#xff0c;则将它与它的下一位交换 4 //重复2号步骤&#xff0c;直至再也不能交换 …

php 接口服务器设计与实现,php服务器接口框架

【实例简介】之前项目前端用android&#xff0c;服务器端用php&#xff0c;所以自己用php封装了一套服务器接口框架【实例截图】【核心代码】友伴框架php└── php├── core│ ├── base│ │ ├── Facade.php│ │ ├── Factory.php│ │ ├── Modul…

英语练习 -《翻译学习法》

People read on the web用户在网站上阅读 People only read word-by-word on the web when they are really interested in the content. 用户只有对他们感兴趣的内容&#xff0c;才会一个字一个字的去阅读 They usually skim the pages looking for highlighted keywords&…

oracle数据库支持的触发器,oracle数据库PL/SQL之触发器-Oracle

oracle数据库PL/SQL之触发器七)触发器 www.2cto.com1.基本概念两种功能&#xff1a;完成由数据库的完整性约束难以完成的复杂业务规则的约束&#xff1b;监视数据库的各种操作&#xff0c;实现审计功能。触发器分为&#xff1a;DML触发器(对表或视图执行DML操作时触发)&…

前端资源(13)

Markdown 地址 Markdown 语法说明 (简体中文版 http://wowubuntu.com/markdownmarkdown入门参考 https://github.com/LearnShare/Learning-Markdown/blob/master/README.mdgitbook https://www.gitbook.com 国外的在线markdown可编辑成书mdeditor https://www.zybuluo.com/mde…