2013-04-17 87 views
7

我想知道是否可以在mongo shell中配置選項卡完成的行爲?我見過的兩種行爲是:Mongo shell選項卡完成

  1. 只要沒有不明確性,第一個匹配鍵完成,第二個匹配顯示可能的選項列表。
  2. 根據第一個可能的選項,按Tab鍵完成完整表達式。

我個人更喜歡第一個選項。我已經看到兩種行爲在不同的環境下(都是mongo版本2以上),並且無法確定它是可配置的還是由環境引起的。

回答

3

mongo shell自動完成行爲絕對不是可配置的選項。根據您使用的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-4321,SERVER-3787, ..)。

如果您喜歡給定的shell行爲,那麼可以使用mongo shell版本,它與您的MongoDB服務器版本不同。要利用所有服務器功能和文檔化的shell幫助程序,您通常需要一個mongo外殼程序版本,該版本與mongod版本相比是相同或更新的主要版本。

+1

你可以使用mongo黑客http://tylerbrock.github.io/mongo-hacker/ –

+1

@GaboEsquivel:mongo-hacker給mongo外殼添加了一些有趣的擴展/特性,但是自動完成不是其中之一:)。自動完成是核心'mongo'行爲的一部分。 – Stennie