Mongodb 如何更改mongoshell提示?

Mongodb 如何更改mongoshell提示?,mongodb,mongo-shell,Mongodb,Mongo Shell,我最近重新安装了Mongodb,从企业版切换到社区版。然而,当我启动mongo时,我得到的提示格式是: MongoDB Enterprise > 如何将其更改为标准提示版本?(即,如果我没有错)您可以通过设置prompt变量在shell会话中更改提示。例如,在Mongo shell中发出以下命令 var prompt="this_prompt >" 。。。将导致shell的提示更改为: this_prompt > 您可以通过更新.mongorc.js(您将在$HOME目

我最近重新安装了Mongodb,从企业版切换到社区版。然而,当我启动
mongo
时,我得到的提示格式是:

MongoDB Enterprise > 

如何将其更改为标准提示版本?(即,
如果我没有错)

您可以通过设置
prompt
变量在shell会话中更改提示。例如,在Mongo shell中发出以下命令

var prompt="this_prompt >"
。。。将导致shell的提示更改为:

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
    ;如果您在*nix系统上,请查看
    /etc/mongorc.js
    ;如果您在Windows上,请查看
    %ProgramData%\MongoDB
  • Mongo在查找rc文件时的行为也受环境变量的影响,请参阅更多详细信息

当您在internet上搜索此主题时,通常会找到以下功能。如果要包括现有提示,请使用函数
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>

伟大的它起作用了。有趣的是,
.mongorc.js
在我编辑之前是空的。你知道默认值存储在哪里吗(在我的例子中是
MongoDB-Enterprise>
)@floatingpurr我已经用一些建议更新了答案,以解决你最后的评论。谢谢。但是,我还没有一个全局版本的
mongorc.js
。不知道默认提示格式是从哪里来的。嗯……如果你根本没有提示,设置一个
prompt
变量没有明显的效果怎么办?还没试过和mongrc捣乱。只是看起来很奇怪,一片空白。Shell仍然可以工作,但没有任何提示。只是确认更改mongorc也没有任何作用。