使用MongoDB,Robo3T以及连接数据库遇到的问题

本文解决Robo3T中使用MongoDB遇到的问题,包括创建用户时的加密方式错误,用户界面显示错误,连接数据库警告及mongod闪退等问题。提供详细步骤,如设置mechanisms为SCRAM-SHA-1,更新MongoClient连接选项,更改dbpath等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用Robo3T创建用户时跳出弹窗:Error: couldn’t add user: Use of SCRAM-SHA-256 requires undigested passwords

解决方案:
创建用户时设置mechanisms加密方式为SCRAM-SHA-1

db.createUser({ 
    user: "admin", 
    pwd: "admin", 
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ], 
    mechanisms : ["SCRAM-SHA-1"] 
})

登录用户db.auth(“admin”,“admin”)
如果返回1,则权限验证通过;0,失败。


若在dos窗口设置权限后,用Robo 3t权限验证未通过时,

解决方法:

  1. 删除用户db.dropUser(“admin”)
  2. 重新创建用户:
    db.createUser({user:“admin”,pwd:“admin”,roles:[{“role”:“userAdminAnyDatabase”,“db”:“admin”},{“role”:“readWrite”,“db”:“test”}]})

二、创建完之后点击System/admin/User时,会报错“wrong type for field (_id) != 7”无法查看user

目前没有找到解决方案,不过不影响查看user。
右键选择View Users或直接输入db.system.user.find()
? https://github.com/Studio3T/robomongo/issues/638

三、连接数据库,DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.

解决方案:
在mongoose.connect(‘mongodb://用户名:密码@localhost:端口号/your_database’)再加一个参数 {useNewUrlParser: true}
用户名密码可省。

四、mongod闪退

解决方案:
在mongodb默认的dbpath在关闭的时候,下次再启动会出现闪退无法正常连接,所以在MongoDB根目录下新建一个文件夹db,并重新设置dbpath。
注意:之前连接是数据库的内容就会不在了。。

mongod --dbpath "F:/Program Files/MongoDB/db"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值