node.js mongojs findOnecallback返回错误为null

目前被这个错误推到了墙上。

我正在用mongodj的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也应该填充一些数据。

如何使callback函数正常工作? 请原谅这个新手问题。

findOne查询找不到至less一个匹配的文档时,callback的第二个参数(本例中为user )被设置为null 。 这不是一个错误,所以err也是null 。 所以你看到的是预期的不匹配的答案。

更新

请注意, findOne在2.0驱动程序中已被弃用,但其替代品也具有相同的行为:

 users.find({'fb_id' : fbUserMetadata.id}).limit(1).next(err, doc) { // doc is null if a matching document wasn't found });