db.collection('collection-name').find()
aを mongooseに翻訳するために約 3 時間試行しましたが、 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 Sample-App@1.0.0 Failed to exec start script
Connection.once('open')
イベントがヒットしたので、接続に問題はないはずですが、 でエラーが発生し続けますconsole.log("find() error");
。
誰が何が起こっているのか手がかりを持っていますか?
- データベース名:公園
- コレクション名:パークポイント
- マングースのバージョン: 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});
};