zoukankan      html  css  js  c++  java
  • node---解决MongoError: Authentication failed.----mongoose链接admin数据库成功,但是链接新建的数据库不成功!

    先说解决办法:

    mongoose.connect(name, {
                authSource: 'admin', // 权限认证(添加这个属性!!!!!)
                user: user,
                pass: password,
                poolSize: 10, // 数据库连接池大小
                useNewUrlParser: true, // 虽然没有报错但是看起来还是不爽,警告内容就是新版connect里边需要这两个参数
                useUnifiedTopology: true, // 当前服务器发现和监视引擎已弃用
            })
    

      思路:

    1.先判断是否创建了账户

    因为默认的mongo是没有账户的

    进入mongo控制台
    >mongo
    
    查看数据库
    show dbs
    
    新建账户
    > db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
    
    打印:
    Successfully added user: {
            "user" : "root",
            "roles" : [
                    {
                            "role" : "userAdminAnyDatabase",
                            "db" : "admin"
                    }
            ]
    }
    
    验证是否创建成功:
    > use admin
    switched to db admin
    > db.auth("root","123456")
    1
    
    查询出一条,说明创建成功
    
    ---------------------------------------
    

      2.验证是否新建的数据库成功(新建的数据库名例如叫xcx)

    >use xcx

    switched to db xcx

    这里有个坑

    如果没有向xcx里插入数据,这里是查询不到的

    > show dbs
    admin 0.000GB
    config 0.000GB
    local 0.000GB

    插入数据

    > db.site.insert({"name":"测试"})
    WriteResult({ "nInserted" : 1 })
    > show dbs
    admin 0.000GB
    config 0.000GB
    local 0.000GB
    xcx 0.000GB

  • 相关阅读:
    Kth Largest Element in an Array -- LeetCode
    First Missing Positive -- LeetCode
    Path Sum II (Find Path in Tree) -- LeetCode
    Email List
    Divide Two Integers -- LeetCode
    Delete Node in a Linked List
    Compare Version Numbers -- LeetCode
    Broken Code
    Trapping Rain Water (Bar Height) -- LeetCode
    Count and Say (Array Length Encoding) -- LeetCode
  • 原文地址:https://www.cnblogs.com/fdxjava/p/14914263.html
Copyright © 2011-2022 走看看