这是正确的回调语法,但是find
提供给回调的是一个Cursor
,而不是文档数组。因此,如果您希望回调将结果作为文档数组提供,请调用toArray
游标以将其返回:
collection.find({'_id':o_id}, function(err, cursor){
cursor.toArray(callback);
db.close();
});
请注意,函数的回调仍需要提供一个err
参数,以便调用者知道查询是否有效。
find
现在返回游标而不是通过回调提供游标,因此典型用法可以简化为:
collection.find({'_id': o_id}).toArray(function(err, results) {...});
或者在这种情况下,期望使用单个文档,则使用起来更简单findOne
:
collection.findOne({'_id': o_id}, function(err, result) {...});