nodejs授权连接mongodb

Posted 沉睡的码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:[email protected]: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/

 

以上是关于nodejs授权连接mongodb的主要内容,如果未能解决你的问题,请参考以下文章

NodeJS的MongoDB连接错误

Mongoose和Mongodb的随机错误:未授权执行命令

node.js如何配置mongodb连接池?

nodejs中如何同步连接mongodb

nodeJs链接mongodb

何时在 Nodejs 中关闭 MongoDB 数据库连接