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

一、使用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"

你可能感兴趣的:(mongodb,Robo3T,mongoose,nodejs)