2017-07-17 58 views
0

在MongoDB Shell中,有一個命令edit <variable>來檢查/修改由EDITOR指定的您最喜愛的編輯器的值。如何爲Mongo Shell定義別名

但是我怎樣才能爲edit創建一個別名,比如e <variable>

回答

0

edit命令是mongo shell(在MongoDB GitHub庫中的src/mongo/shell/dbshell.cpp#L470)的C++實現的一部分。本地函數(如edit)在交互式shell解釋器中公開,但不容易通過JavaScript調用或覆蓋(請參閱:Differences Between Interactive and Scripted mongo)。

至於在MongoDB 3.4我不知道任何明顯的方式來別名本地代碼的功能,除非你熱衷於修改源代碼和構建自定義mongo外殼。

但是,如果您正在爲mongo shell編寫任何重要腳本,更值得推薦的方法是使用load(...)命令而不是edit。的load()超過edit

優點包括:

  • 能夠編輯多個變量和函數在一個文件中。
    • edit只編輯單個變量或函數。
  • 檢測JavaScript語法錯誤關閉之前,你的草案
    • edit檢測更改時,編輯器關閉的臨時文件;與load()你可以通過保存在你的編輯器而不關閉,來測試連續的編輯。
    • 如果edit文件關閉時遇到任何JavaScript語法錯誤,您將失去草稿並且外殼中的變量將保持原始值。
  • 您的工作文件保存在非臨時路徑中,因此您可以將它們提交到版本控制。