2014-11-02 123 views
3

我創建的MongoDB用戶用命令node.js的貓鼬連接的MongoDB如何進行身份驗證在

use admin 
db.createUser(
    { 
     user: "superuser", 
     pwd: "12345678", 
     roles: [ "root" ] 
    } 
) 

然後在我的應用我試圖連接貓鼬這樣

var options = { 
user: "superuser", 
pass: "12345678" 
}; 


var mongooseConnectionString = 'mongodb://localhost/twitter-mongo'; 

mongoose.connect(mongooseConnectionString,options); 
mongoose.model('User', UserSchema); 

var User = mongoose.model('User'); 

我得到這個通過貓鼬插入數據時出錯

MongoError: not authorized for insert on twitter-mongo.users 

請告訴我我的代碼有什麼問題

回答

6

這是工作的罰款:

var options = { server: { socketOptions: { keepAlive: 1 } } }; 
var connectionString = 'mongodb://admin:[email protected]:27017/myDB'; 

mongoose.connect(connectionString, options); 

//Add those events to get more info about mongoose connection: 

// Connected handler 
mongoose.connection.on('connected', function (err) { 
    console.log("Connected to DB using chain: " + connectionString); 
}); 

// Error handler 
mongoose.connection.on('error', function (err) { 
    console.log(err); 
}); 

// Reconnect when closed 
mongoose.connection.on('disconnected', function() { 
    self.connectToDatabase(); 
}); 
+2

這似乎是過時了。 – 2017-07-19 09:56:27