eja*_*ang 5 javascript callback mongodb node.js mongojs
目前被这个错误推上了墙.
我正在使用mongodb的mongojs包装器运行node.js应用程序.我在默认端口上启动了mongod,然后运行
var db = require('mongojs').connect('localhost:27017/my_db');
var users = db.collection('users');
users.findOne({'fb_id' : fbUserMetadata.id}, function(err, user) {
console.log(err);
console.log(user);
debugger;
});
Run Code Online (Sandbox Code Playgroud)
然而,错误和用户都是'空'.据我所知,错误应该填充某种数据,即使它没有找到任何数据.
如何让回调函数正常工作?请原谅新手问题.
Joh*_*yHK 10
当findOne查询找不到至少一个匹配文档时,回调的第二个参数(在本例中user)设置为null.这不是错误,所以err也是null.所以你所看到的是预期的不匹配发现的响应.
更新
请注意,findOne2.0驱动程序中已弃用,但其替换也表现出相同的行为:
users.find({'fb_id' : fbUserMetadata.id}).limit(1).next(err, doc) {
// doc is null if a matching document wasn't found
});
Run Code Online (Sandbox Code Playgroud)