MongoDB文档翻译-mongo Shell-配置mongo Shell

h说明:英文原文地址:https://docs.mongodb.com/v3.2/tutorial/configure-mongo-shell/
本文章属个人翻译,作个人学习之用,如有雷同,纯属巧合。如有错误之处,欢迎指正。

配置mongo Shell

自定义提示

通过在mongoshell中设置prompt变量,可以修改提示内容。prompt变量可以保存字符串,也可以保存javascript 代码。若prompt保存的是返回字符串的函数,mongo可以在每次提示时显示动态信息。

可以在.mongorc.js文件中添加prompt逻辑,以设置每次启动mongoshell后的提示。

自定义prompt,显示操作个数

例如,创建一个显示当前会话中执行的操作个数的mongoshell,在mongoshell中定义如下变量:

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

prompt将会产生如下的结果:

1>
2>
3>

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

要创建一个显示@$ prompt的mongoshell,定义如下变量:

host = db.serverStatus().host;

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

该prompt类似如下:

test@myHost1$

自定义prompt,显示启动时间和文档总数

要创建一个包含系统启动时间和当前数据库文档总数的mongoshell prompt,在mongoshell中定义如下prompt变量:

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

该prompt将类似如下:

Uptime:5897 Documents:6 >

在mongo shell中使用外部编辑器

你可以在mongoshell中使用你自己的编辑器,只需要启动mongoshell前设置EDITOR环境变量即可。

export EDITOR=vim
mongo

一旦在mongoshell中,你可以输入 edit 或 edit 来用指定的变量编辑,如下:

    1. 定义一个函数 myFunction

      function myFunction () { }
    1. 用你的编辑器编辑该函数

      edit myFunction

该命令应该会打开vim编辑会话。完成编辑后,保存,退出vim会话。

  • 3.在mongoshell中,输入myFunction查看函数定义:

    myFunction

    结果应该是从你所保存编辑器中所做的修改。

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

    注意:

    由于mongoshell会对外部编辑器中返回的代码进行解释,它可能会修改函数中的代码,具体取决于javascript编辑器。mongo可能会把1+1转换成2或移除注释。实际的改变只会影响代码的外观,因所用javascript的版本不同而不同,并不会影响代码的语义。

    改变mongo shell批量大小

    db.collection.find()方法是从集合返回文档的javascript 方法,该方法返回结果集的游标。然而,在mongoshell中,如果返回的游标没有赋值给用var声明的变量,游标自动迭代20次,打印匹配查询的前20个文档。mongoshell会提示”Type it”以迭代另一个20次。

    可以设置DBQuery.shellBatchSize属性来修改文档数量,而不是默认的20。如下示例把它设为10:

    DBQuery.shellBatchSize = 10;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值