Nodejs授权连接Mongodb
2017-10-17 本文已影响18人
张Boy
mongodb安装完以后是没有用户连接授权验证的
$mongo # 进入交互模式
# show dbs # 显示存在的数据库
# use dataName # 应用dataName数据库
# show collections # 显示该数据库下的数据集
...
给mongodb加入用户授权验证
$mongo
# use admin # 切换到admin数据库
# show collections # 显示admin 下的数据集
# ----demo
# ----system.users
# ----system.indexes
# ----system.version
-------------
# db.system.users.find() # 查看users里面的用户数据
# db.addUser('name','pwd'); # 添加一个管理用户
打开mongodb配置文件
sudo vi /etc/mongodb.conf
-------------
找到#auth=true 反注释
-------------
sudo /etc/init.d/mongodb restart # 重启mongodb服务
创建一个nodejs 应用,并添加mongodb插件
npm install mongodb -save
应用实例:
var mongodb=require('mongodb').MongoClient,
url='mongo://username:password@address:port/database?authMechanism=MONGODB-CR&authSource=admin',
assert=require('assert');
mongodb.connect(url,function(err,db){
assert.equal(err,null);
var col=db.collection('collection-name');
col.find({}).toArray(function(err,data){
console.log(data);
})
})
-
其中authMechanism是授权机制 这个可以通过上面的 db.system.users.find()来查看