如何为Mongo Shell定义别名

时间:2017-07-17 03:02:20

标签: alias mongodb-shell

在MongoDB Shell中,有一个命令edit <variable>来检查/修改EDITOR指定的您喜欢的编辑器的值。

但是如何为edit创建别名,例如e <variable>

1 个答案:

答案 0 :(得分:0)

edit命令是mongo shell(MongoDB GitHub repo中的src/mongo/shell/dbshell.cpp#L470)的C ++实现的一部分。像edit这样的本机函数在交互式shell解释器中公开,但不能通过JavaScript调用或覆盖(参见:Differences Between Interactive and Scripted mongo)。

与MongoDB 3.4一样,除非您热衷于修改源代码并构建自定义mongo shell,否则我不知道任何明显的别名本机代码函数的方法。

但是,如果您要为mongo shell编写任何重要脚本,那么更值得推荐的方法是使用load(...)命令而不是edit

load()优于edit的优势包括:

  • 能够在单个文件中编辑多个变量和函数。
    • edit仅编辑单个变量或函数。
  • 在关闭草稿之前检测JavaScript语法错误
    • edit在编辑器关闭临时文件时检测到更改;使用load(),您可以通过保存在编辑器中而不关闭来测试连续编辑。
    • 如果edit在文件关闭时遇到任何JavaScript语法错误,您将丢失草稿,并且shell中的变量将保持原始值。
  • 您的工作文件保存在非临时路径中,因此您可以将它们提交到版本控制。