在 MongoDB Shell 中,有一个命令edit <variable>
可以通过 EDITOR 指定的您喜欢的编辑器检查/修改值。
但是我怎样才能创建一个别名edit
,例如e <variable>
?
在 MongoDB Shell 中,有一个命令edit <variable>
可以通过 EDITOR 指定的您喜欢的编辑器检查/修改值。
但是我怎样才能创建一个别名edit
,例如e <variable>
?
该edit
命令是mongo
shell 的 C++ 实现的一部分(src/mongo/shell/dbshell.cpp#L470
在 MongoDB GitHub 存储库中)。像这样的原生函数edit
在交互式 shell 解释器中公开,但不容易通过 JavaScript 调用或覆盖(请参阅:交互式和脚本 mongo 之间的差异)。
在 MongoDB 3.4 中,除非您热衷于修改源代码并构建自定义mongo
shell,否则我不知道有任何明显的方式来给本机代码函数起别名。
但是,如果您正在为 shell 编写任何重要的脚本,mongo
那么更推荐的方法是使用load(...)
命令而不是edit
.
load()
over的优点edit
包括:
edit
仅编辑单个变量或函数。edit
当您的编辑器关闭临时文件时检测更改;您可以通过load()
在编辑器中保存而不关闭来测试连续的编辑。edit
在关闭文件时遇到任何 JavaScript 语法错误,您将丢失草稿,并且 shell 中的变量将保持原始值。