0

我正在使用 mongoskin 从节点连接到 mongodb,但是如果 mongodb 不可用,连接时会引发异常,并且我似乎找不到处理此问题的方法。

我的连接和查询代码如下所示...

var mongo = require('mongoskin');
var conn = 'localhost:27017/dbname'; 

mongo.db(conn).collection('collection').find({ date: { $gte: now } }, { sort: [['date', 1]]}).toArray(function(err, result) {
                if (err) throw err;
                callback(null, result)
            });

我应该如何处理?

谢谢,西蒙

4

1 回答 1

2

throw err;在这里没用 - 没有外部范围来捕获错误,因为它被事件循环作为异步函数调用。node.js 中的约定是触发回调,其中第一个 arg 包含错误(或 null,如果没有),第二个 arg 包含命令结果。

所以你可能只想:

callback(err, result)

甚至直接传递回调。在回调的代码中,检查 err 是否为空,然后在那里处理条件。

于 2012-04-27T15:14:45.103 回答