目前正被此错误推高。
我正在使用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; });
但是err和user都为“ null”。据我所知,err应该填充某种数据,即使找不到任何东西。
如何使回调函数正常工作?请原谅新手问题。
当findOne查询找不到至少一个匹配的文档时,则将回调的第二个参数(在这种情况下user)设置为null。这不是错误,err也是null。因此,您所看到的是预期的找不到匹配项的响应。
findOne
user
null
err
更新资料
请注意,findOne2.0驱动程序已弃用该功能,但其替换也表现出以下相同行为:
users.find({'fb_id' : fbUserMetadata.id}).limit(1).next(err, doc) { // doc is null if a matching document wasn't found });