美文网首页我爱编程JS开发
#2 MongoDB 添加--auth 连接mongoose

#2 MongoDB 添加--auth 连接mongoose

作者: JamesSawyer | 来源:发表于2017-06-17 00:07 被阅读2693次

1.设置用户并验证

初始设置可以参考这里 jiayi github mongodb

  1. 安装MongoDB(我的mongodb版本为 V3.4.4
  2. 设置开启验证 --auth 使用这个flag
  3. 给计算机默认的自带的 admin 设置一个帐号,相当于超级管理员
  4. 建立自定义数据库,设置用户帐号,并设置相应的权限

如果要使用mongoose连接mongodb则需要给数据库设置帐号密码和权限,首先我们需要添加用户

下面主要讲一下具体的命令:

# 1.进入mongo环境
> mongo

# 2.切换到 'admin' 数据库
> use admin

# 3.给admin设置用户
# user: 用户名 
# pwd: 用户密码
# roles: 用来设置用户的权限,比如读,读写,写等等
> db.createUser({user: 'root', pwd: '123456', roles: ['root']})

# 4.验证该用户 'db.auth(用户名,用户密码)'
> db.auth('root', '123456')
# 如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败

# 5.自定义数据库,并添加用户
# a.创建 'example' 数据库
> use example

# b.创建用户
> db.createUser({user: 'james', pwd: '123456', roles: [{role: 'readWrite'}]})

# c.验证该用户
> db.auth('james', '123456')
# 如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败

主要使用到的方法:

  • db.createUser()
  • db.auth()

另外删除用户可以使用:

  • db.dropUser(用户名)

给用户设置具体的操作权限 roles 有 (这个的设置对数据的操作权限影响很大,我暂时还不是很清楚,有待了解):

权限种类.jpg

关于权限blog

注意

如果修改了用户权限,则需要在用户所在的数据库再次认证才能生效

# 比如将上面 'example' 数据库下的用户 'james' 的权限修改
{
    "_id" : "example.james",
    "user" : "james",
    "db" : "example",
    "roles" : [ 
        {
            "role" : "readWrite", // 读写
            "db" : "example"
        }
    ]
}

# 修改为只读的
{
    "_id" : "example.james",
    "user" : "james",
    "db" : "example",
    "roles" : [ 
        {
            "role" : "read", // 只读
            "db" : "example"
        }
    ]
}

# 再次认证
> mongo
> use example
> db.auth('james', '123456')
# 如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败

使用Robomongo连接

  1. 创建
  2. 点击验证,开启验证-> 输入帐号和密码(管理员用户的帐号和密码,比如上面的用户名root, 明码123456) -> 点击 'test',查看是否通过验证
1.创建.jpg 2设置用户登录.jpg

使用mongose连接数据库

一般node项目连接 mongodb都会选择 mongose,下面是初步的连接教程

1.下载npm包

npm i -S express mongose

2.具体代码:

// app.js
var express = require('express');
var app = express()
var mongose = require('mongose');

# mongodb 为协议
# james: 连接数据库的用户
# 123456: 该用户的密码
# localhost: 本地的地址(因为这是本地环境)
# 27017: mongodb的端口号(这个一般是默认值,也可以进行修改)
# example: 数据库的名字
var db = 'mongodb://james:123456@localhost:27017/example'

// 连接
mongose.connect(db);

var connection = mongose.connection;
connection.on('connected', function() {
  console.log('Mongoose 连接到 example数据库');
}) 
connection.once('open', function(callback){
    console.log('数据库启动了');
    // app.listen(8080, () => console.log('Express server listening on port 8080'));
})

使用 node app 运行js,成功连接则会输出上面打印的信息。

总结

大致的连接过程就是这些,设置的时候时候,如果查看教程请注意mongodb版本号。

mongodb 创建用户

相关文章

  • #2 MongoDB 添加--auth 连接mongoose

    1.设置用户并验证 初始设置可以参考这里 jiayi github mongodb 安装MongoDB(我的mon...

  • 第10天

    1.安装npmnpm install mongoose2.连接到MongoDb1.var mongoose = r...

  • Node-Mongoose

    Mongoose 连接 Mongodb 数据库引擎 mongoose文档 查看npm文档Mongoose 官网查看...

  • #3 mongoose 基本使用

    mongoose连接mongodb 创建Schema和model 连接到MongoDB 实例操作 数据库的操作通常...

  • node MongoDB express

    node.js 连接MongoDB ①安装 ②增删改查 mongoose 使用 如果出现 mongoose.Pro...

  • 15.mongoose

    mongoose是nodeJS提供连接 mongodb的一个库schema对象-模型(表)下面使用mongoose...

  • day9学习笔记

    主讲内容:nodejs与mongodb之间数据库连接插件:mongoose;准备工作: 下载mongoose ...

  • node的Mongodb使用(mongoose)

    1. 首先安装模块mongoose 运行npm i mongoose 2. 添加数据库连接配置文件config/d...

  • express与mongodb简单整合

    1. 安装mongodb 2. 安装mongoose依赖,npm install mongoose --save ...

  • node-mongodb增删改查示例

    1.1:下载mongodb模块 2.1:创建连接: 2.1.1: 引入模块 var mongoose = requ...

网友评论

    本文标题:#2 MongoDB 添加--auth 连接mongoose

    本文链接:https://www.haomeiwen.com/subject/wthvqxtx.html