感觉有点羞怯,因为我一直在使用Node& Mongo现在一年了。我一直坚持这种形式;
collection.find({field:value}, function(error, cursor) {
if (error) return ErrorHandler(error);
cursor.toArray(function(error, results) {
if (error) return ErrorHandler(error);
...
});
});
主要是因为(当我第一次试图了解Node的单线程方式时)每个数据库调用都明确是非阻塞的。但显然它与...相比有点冗长。
collection.find({field:value}).toArray(function(error, results) {
if (error) return ErrorHandler(error);
...
});
我想知道是否有人可以向我确认第二种形式是等同的异步并且驱动程序在后台处理查找回调并且只在两件事完成时都回电话给我?
是否有理由认为第二种形式可能更高效(基于驱动程序可能是用低级语言实现的)?