8

我想知道是否可以在 mongo shell 中配置选项卡完成的行为?我见过的两种行为是:

  1. tab 键的第一次点击完成,只要没有歧义,第二次点击显示可能的选项列表。
  2. 根据第一个可能的选项,按 Tab 键完成完整的表达式。

我个人更喜欢第一种选择。我已经在不同的环境中看到了这两种行为(都是 mongo 版本 2 及更高版本),并且无法弄清楚它是可配置的还是由环境引起的。

4

1 回答 1

4

mongoshell 自动完成行为绝对不是一个可配置的选项。根据您使用的 MongoDB 版本,shell 编辑行为存在一些差异。

这些差异不仅限于自动完成,还包括行编辑、历史记录和键盘快捷键……但要确认您的自动完成观察:

  • MongoDB 1.8.x 及更早版本有行为 #1
  • 在 MongoDB 2.0.x 中,shell 编辑库从 readline 更改为 linenoise ( SERVER-2792 ) 并导致一些更改,包括选项卡完成(行为 #2)
  • 从 MongoDB 2.2.x 开始,原始的 readline 样式完成已恢复(SERVER-3809)以及对 shell 交互的其他改进(例如:SERVER-4321SERVER-3787、..)。

如果您更喜欢给定 shell 的行为,当然可以使用mongo与 MongoDB 服务器版本不同的 shell 版本。要利用所有服务器功能和记录的 shell 帮助程序,您通常需要一个mongo与版本相同或更新的主要版本的 shellmongod版本。

于 2013-04-17T13:43:27.640 回答