【问题标题】:Mongoose error being returned as undefined?猫鼬错误被返回为未定义?
【发布时间】:2014-02-01 20:06:24
【问题描述】:

我正在尝试使用 jasmine 测试我的数据库连接。

MongoClient 是一个对象并被定义。但是err 返回未定义,我的测试自然会失败。如果没有错误,Mongoose 会简单地返回 undefined 吗?

还有其他方法可以检查连接吗?

describe("MongoDB", function() {
it("is there a server running", function(next) {
    var MongoClient = require('mongoose');
    MongoClient.connect('mongodb://127.0.0.1:27017/panther_dev', function(err) {
        expect(err).toBe(null);
        next()
    });
});
});

谢谢

【问题讨论】:

  • 您的代码不是 Mongoose 代码……那是本机驱动程序。

标签: node.js mongodb express mongoose jasmine


【解决方案1】:

另一种检查连接的方法是使用Connection#readyState。它返回以下四个值之一:

  • 0 = 断开连接

  • 1 = 已连接

  • 2 = 连接

  • 3 = 断开连接

所以在你的例子中,为了测试连接,它看起来像:

it("is there a server running", function(next) {
    var MongoClient = require('mongoose');
    MongoClient.connect('mongodb://127.0.0.1:27017/panther_dev', function(err) {
        expect(MongoClient.readyState).toBe(1);
        next();
    });
});

【讨论】:

    猜你喜欢
    • 2018-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-06
    • 2014-04-19
    相关资源
    最近更新 更多