2012-11-07 36 views
0

嘗試約3小時將db.collection('collection-name').find()翻譯爲貓鼬,但似乎從來沒有能夠認證find()貓鼬繼續有錯誤:擅自爲一個簡單的collection.find()

堆棧跟蹤:

Error: unauthorized db:parks ns:parks.parkpoints lock type:0 client:127.2.132.1 
at Promise.error (/var/lib/user/app-root/runtime/repo/node_modules/mongoose/lib/promise.js:88:38) 
at cb (/var/lib/user/app-root/runtime/repo/node_modules/mongoose/lib/query.js:1454:29) 
at /var/lib/user/app-root/runtime/repo/node_modules/mongoose/lib/utils.js:408:16 
at /var/lib/user/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/cursor.js:146:30 
at /var/lib/user/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/cursor.js:188:32 
at /var/lib/user/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/cursor.js:504:39 
at Cursor.close (/var/lib/user/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/cursor.js:776:5) 
at [object Object].<anonymous> (/var/lib/user/app-root/runtime/repo/node_modules/mongodb/lib/mongodb/cursor.js:504:21) 
at [object Object].g (events.js:156:14) 
at [object Object].emit (events.js:88:20) 
npm info [email protected] Failed to exec start script 

Connection.once('open')事件被打,所以連接不應該成爲問題,但我一直在打的console.log("find() error");錯誤。

任何人對發生了什麼都有任何線索?

  • 數據庫名稱:公園
  • 集合名稱:parkpoints
  • 貓鼬版本:3.3.1
  • MongoDB的版本:2.2.0

我雙重檢查的值用戶,通過,主機和端口,這些不應該是問題的根源。

self.connectDb = function(callback){ 
mongoose.connection.on('error', function(err){ 
    console.log("connection error"); 
    throw err;}); 
mongoose.connection.once('open', function(){ 
    callback(); 
    self.Parkpoint=mongoose.connection.model('Parkpoint', 
      new Schema({ Name: String, pos: [Number]})); 

    self.Parkpoint.find().exec(function(err, names) { 
    if(err){ 
     console.log("find() error"); 
     throw err}; 
    console.log("names: "+names); 
    res.header("Content-Type:","application/json"); 
    res.end(JSON.stringify(names)); 
}); 


}); 

var dbUri = 'mongodb://'+self.dbUser+':'+self.dbPass+'@'+self.dbHost+':'+self.dbPort+'/parks'; 
console.log(dbUri); 
mongoose.connect(self.dbHost, "parks", self.dbPort, {user:self.dbUser, pass:self.dbPass}); 
}; 
+0

報告的錯誤的詳細信息是什麼? – JohnnyHK

+0

今晚我會粘貼整個東西,但它基本上是錯誤:未經授權的分貝:公園ns:parks.parkpoints鎖定類型:0客戶端:127.2.132.1 – ttback

回答

0

解決:需要運行addUser()命令爲數據庫添加auth。我認爲它工作,因爲mongodb驅動程序工作,但顯然該用戶從來沒有真正添加...也許是因爲它是管理員。根本原因還不是很清楚,但問題似乎很容易解決,更多地關注身份驗證管理。