使用mongoose连接远程云数据库,需要用户权限访问

本文介绍了在Node.js中使用mongoose模块连接MongoDB数据库时遇到的权限问题。通过提供用户名和密码,以及指定authSource参数,实现了数据库的连接。但如果没有正确权限,将无法访问数据库。解决方案包括在admin数据库中管理用户角色,确保只有授权用户能访问特定数据库。文章还提到了用户表的查看方法,以及创建和管理用户角色的重要性。
摘要由CSDN通过智能技术生成

刚开始的

// 引入第三方模块mongoose
const mongoose = require('mongoose');
// 连接数据库
 mongoose.connect('mongodb://IP地址/game', {useNewUrlParser: true})
 .then(() => console.log('数据库连接成功'))
 .catch(() => console.log('数据库连接失败'))

不要写上http://

我这里随便列举一个:mongodb://10.23.32.8/game

这样就可以了,显示连接上了数据库,但是没有权限访问,怎么办?
请往下看:
在这里插入图片描述

// 引入第三方模块mongoose
const mongoose = require('mongoose');
// 连接数据库
mongoose.connect('mongodb://用户名:密码@IP地址/game?authSource=admin', { useUnifiedTopology: true, useNewUrlParser: true })
  .then(() => console.log("数据库连接成功"))
  .catch(err => console.log(err, "数据库连接失败"))


// game是我的数据库名,可以改成自己的数据库名

账号和密码那里来?

mongodb数据库有一个admin数据库,里面会有users用户表
在这里插入图片描述

这个users表用可视化界面看不到

用户表里面会有各种各样的用户,表示每种用户对这个数据库的访问权限不一样
如何在admin数据库中添加用户角色,这需要数据库的管理人员,如果这个云数据库就是自己的,那你就有权限,如何创建在我的另一篇文章里已经能够看到,地址是:https://blog.csdn.net/qq_44859233/article/details/123077206

我连接的是超级管理员角色,能够读写数据表

在admin中创建了users表,就意味着之后必须要指定的用户才有权限访问该数据库,我上次已经创建了user表,这次再直接创建用户就会提示我权限不够,那如何查看user表呢,转换身份为admin即可查看,如下图:

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值