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

刚开始的

// 引入第三方模块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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装mongoose 在命令行中执行以下命令: ``` npm install mongoose ``` 2. 连接数据库 在Node.js中使用mongoose连接数据库需要先引入mongoose模块: ```javascript const mongoose = require('mongoose') ``` 接着使用mongoose.connect()方法连接数据库: ```javascript mongoose.connect('mongodb://localhost:27017/databaseName', { useNewUrlParser: true }) ``` 其中,mongodb://localhost:27017/databaseName是连接数据库的URL,其中localhost为数据库服务器地址,27017为MongoDB的默认端口号,databaseName为要连接数据库名称。 { useNewUrlParser: true }是Mongoose的一个选项,以允许在连接使用新的URL字符串解析器。 3. 定义Schema和Model 在使用mongoose之前,需要先定义Schema和Model。Schema是用来定义数据结构的,Model是由Schema生成的实例。 ```javascript const Schema = mongoose.Schema const userSchema = new Schema({ username: String, password: String, email: String }) const User = mongoose.model('User', userSchema) ``` 以上代码定义了一个名为User的Model,该Model对应的Schema定义了三个属性:username、password和email。 4. CRUD操作 通过定义好的Model可以进行CRUD操作。以下是一些常用的操作: - 新增数据 ```javascript const user = new User({ username: 'Tom', password: '123456', email: '[email protected]' }) user.save(function (err, user) { if (err) return console.error(err) console.log(user.username + ' saved to database.') }) ``` - 查询数据 ```javascript User.find(function (err, users) { if (err) return console.error(err) console.log(users) }) ``` - 更新数据 ```javascript User.findOneAndUpdate({ username: 'Tom' }, { password: '654321' }, function (err, user) { if (err) return console.error(err) console.log(user) }) ``` - 删除数据 ```javascript User.deleteOne({ username: 'Tom' }, function (err) { if (err) return console.error(err) console.log('User deleted.') }) ``` 以上代码演示了如何使用mongoose连接MongoDB数据库,并进行CRUD操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值