nodejs授权连接mongodb

时间:2023-03-09 17:33:42
nodejs授权连接mongodb

mongodb安装完以后是没有用户连接授权验证的

在控制台直接输入mongo进入交互模式

show dbs
use databaseName
show collections

这些基本的命令都不会有问题

############################################

给mongodb加入用户授权验证  -----mongo进入交互模式

use admin  #切换到admin数据库
show collections #显示数据集
----demo
----system.users
----system.indexes
----system.version db.system.users.find() #查看system.users里面的用户数据
----
db.addUser('name','pwd'); #添加一个管理员账户

然后打开 vi /etc/mongodb.conf

找到#auth=true 反注释掉

然后重启mongodb数据库服务

sudo /etc/init.d/mongodb restart

至此,mongodb的auth配置完毕

#################################

创建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()来查看

参考文献地址:http://mongodb.github.io/node-mongodb-native/2.2/