错误提示
解决方案
- 在启动MongoDB实例之前,设置外部编辑器。
## 查看vi编辑器的位置
[root@linux130 ~]# whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz
## 设置外部编辑器
[root@linux130 ~]# export EDITOR="/usr/bin/vi"
- 重启mongod
[root@linux130 ~]# systemctl restart mongod
- 使用mongosh连接数据库
[root@linux130 ~]# mongosh
4. 创建 abc 函数
test> abc = function(x,y){
... return x + y;
... }
[Function: abc]
- 调用 abc 函数
test> abc(10, 10)
20
- 编辑 abc 函数
test> edit abc
将加法 修改为 乘法,wq保存退出
7. 再次调用 abc 函数,验证是否修改成功
test> abc(10, 10)
100
总结:MongoDB使用外部编辑器的原因
shell 的多行支持比较有限:不能编辑前面的行。如果编辑到第 15 行时发现第 1 行有一个错误,那会非常让人懊恼。因此,对于较大的代码块或者对象,可能需要在编辑器中编辑它们。为此,可以在shell 中设置 EDITOR 变量(也可以在环境变量中进行设置)