Как изменить подсказку mongoshell?
Я недавно переустанавливал Mongodb, переключаясь с корпоративной версии на версию сообщества. Тем не менее, когда я начинаю mongo
, это быстрый формат, который я получаю:
MongoDB Enterprise >
Как я могу изменить его на стандартную версию подсказки? (То есть, >
если я не ошибаюсь)
1 ответ
Вы можете изменить приглашение в сеансе оболочки, установив prompt
переменная. Например, выполнив следующую команду в оболочке Mongo...
var prompt="this_prompt >"
... приведет к изменению приглашения оболочки на:
this_prompt >
Вы можете изменить приглашение по умолчанию для всех будущих сеансов, обновив .mongorc.js
(вы найдете это в вашем каталоге $HOME, и если он не существует, просто создайте его). Следующее дополнение к вашему .mongorc.js
...
var prompt=function() {
return ISODate().toLocaleTimeString() + " > ";
}
... приведет к этому приглашению:
:~/dev/tools/mongodb/mongodb-osx-x86_64-3.4.7/bin$ ./mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
16:09:43 >
16:09:57 >
Или, чтобы получить эту подсказку: >
просто добавьте следующее к вашему .mongorc.js
:
var prompt=">"
Остается дополнительный текст к вашему вопросу, а именно; где существующий MongoDB Enterprise >
подскажите откуда?, Сложно сказать, но...
- Возможно, у вас есть глобальный
mongorc.js
; заглянуть в/etc/mongorc.js
если вы работаете в системе * nix или%ProgramData%\MongoDB
если вы на Windows - Поведение Mongo при поиске rc-файла также зависит от переменных среды, более подробно в документации.
Когда вы ищете в Интернете эту тему, часто вы найдете функцию ниже. Если вы хотите включить существующее приглашение, используйте функциюdefaultPrompt()
, например
prompt = function() {
if (typeof db == 'undefined')
return '(nodb)> ';
// Check the last db operation
try {
db.runCommand( {getLastError:1} );
} catch (e) {
print(e);
}
var user = db.runCommand({connectionStatus : 1}).authInfo.authenticatedUsers[0]
if (user) {
return user.user + "@" + db + " " + defaultPrompt();
} else {
return "(anonymous)@" + db + " " + defaultPrompt();
//return db + " " + defaultPrompt(); // if you prefer
}
}
Подсказки будут такими:
admin@mip mongos>
mip shard001:ARBITER>
admin@mip configRepSet:PRIMARY>