You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB v4.0.4 调用passwordPrompt()提示未定义错误如何解决?

问题产生原因

passwordPrompt() 是MongoDB 4.2及以上版本的官方mongo shell才内置提供的辅助方法,你当前使用的v4.0.4版本shell尚未集成该方法,因此执行时会抛出ReferenceError: passwordPrompt is not defined的未定义引用错误。

解决方案
  • 方案一:升级mongo shell到4.2或更高版本
    4.2+版本的mongo shell向下兼容v4.0版本的MongoDB服务端,升级完成后即可直接使用官方内置的passwordPrompt()方法实现隐式密码输入。
  • 方案二:继续使用v4.0版本shell,可选择两种替代方案实现隐式密码输入
    1. 连接数据库时指定认证参数,触发shell自带的密码提示
      执行连接命令时加入用户名和认证库参数,shell会自动弹出隐式密码输入提示,无需在交互界面输入明文密码:
    mongo -u "你的用户名" --authenticationDatabase "你的认证库名(默认通常为admin)"
    
    1. 交互模式下自定义passwordPrompt方法
      在mongo shell交互界面先执行以下代码自定义方法,之后就可以正常调用db.auth("username",passwordPrompt())完成隐式认证:
    passwordPrompt = function() {
        return readPassword("请输入密码:");
    };
    

内容的提问来源于stack exchange,提问作者Shivabharathi Ponnuvelu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 03:36:03