2013-04-17 2 views
7

Мне было интересно, можно ли настроить поведение завершения вкладки в оболочке mongo? Два вида поведения, которые я видел, следующие:Завершение вкладки Mongo shell

  1. Первый хит клавиши табуляции завершается настолько, насколько нет двусмысленности, второе попадание показывает список возможных вариантов.
  2. Нажатие клавиши табуляции завершает полное выражение в соответствии с первой возможной опцией.

Я лично предпочитаю первый вариант. Я видел оба поведения в разных средах (все с версией mongo версии 2 и выше), и не могу понять, настраивается ли он или вызвано окружением.

ответ

3

mongo поведение автозавершения оболочки определенно не является настраиваемой опцией. В зависимости от версии MongoDB, которую вы используете, есть некоторые отличия в поведении оболочки.

Эти различия выходят за пределы автозавершения в линию редактирования, истории и сочетания клавиш .. но чтобы подтвердить AutoCompletion наблюдения:

  • MongoDB 1.8.x и старше имели поведение # 1
  • В MongoDB 2.0. x библиотека редактирования оболочки была изменена с readline на linenoise (SERVER-2792) и привела к нескольким изменениям, включая завершение вкладки (поведение # 2)
  • Начиная с MongoDB 2.2.x было восстановлено первоначальное завершение стиля в стиле readline (SERVER-3809) наряду с другими улучшениями в оболочке в (например: SERVER-4321, SERVER-3787, ..).

Возможно, вы используете версию оболочки mongo, которая отличается от версии вашего сервера MongoDB, если вы предпочитаете поведение данной оболочки. Чтобы воспользоваться всеми функциями сервера и документированными помощниками оболочки, вам обычно нужна версия оболочки mongo, которая является той же или более новой основной версией по сравнению с версией mongod.

+1

вы можете использовать mongo hacker http://tylerbrock.github.io/mongo-hacker/ –

+1

@GaboEsquivel: 'mongo-hacker' добавляет ряд интересных расширений/функций в оболочку' mongo', но автозаполнение не является один из них :). Автозаполнение является частью основного поведения mongo. – Stennie

Смежные вопросы