鍍金池/ 問答/數(shù)據(jù)庫  HTML/ node在連接mongodb時除了admin等默認數(shù)據(jù)庫可以連上,新建的都連不上

node在連接mongodb時除了admin等默認數(shù)據(jù)庫可以連上,新建的都連不上

var MongoClient=require('mongodb').MongoClient,

DB_CONN_STR='mongodb://admin:admin@localhost:27017/MySite';//數(shù)據(jù)庫為MySite

//添加數(shù)據(jù)
var insertData=function(db,callback){

//連接到picts表
var collection=db.collection('picts');
//插入數(shù)據(jù)
var data=[{'pictName':'img2','pict':'company-img-6.jpg'}];
collection.insert(data,function(err,result){
    if(err){
        console.log('Error:'+err);
        return;
    }
    callback(result);
});

};

MongoClient.connect(DB_CONN_STR,function(err,db){
console.log('連接成功!');
insertData(db,function(result){

console.log(result);
db.close();

});
});

報的錯誤是:
圖片描述

我在robomongo上的數(shù)據(jù)庫是這樣的:
圖片描述

請問一下我這個該怎么做?

回答
編輯回答
離人歸

因為在segmentfault是第一次回答,在等待審核的過程中,查了查有關(guān)于mongodb的對于數(shù)據(jù)庫的安全驗證相關(guān)的知識,發(fā)現(xiàn)我會出現(xiàn)這種collection為空的現(xiàn)象是因為我獲取的db也為空,對于數(shù)據(jù)庫的獲取為空也是因為我對數(shù)據(jù)庫開啟了安全驗證的緣故。在DB_CONN_STR='mongodb://admin:admin@localhost:27017/MySite';//數(shù)據(jù)庫為MySite中所驗證的用戶與密碼并不是我在這里需要的數(shù)據(jù)庫MySie的,所以報錯,當(dāng)我使用role.db為MySite的用戶,數(shù)據(jù)庫就可以正常連接了

2018年9月13日 22:36