node.js - Loopback JS模型与MongoDB的连接

标签 node.js mongodb loopbackjs

我想使用LoopbackJS框架来编写一些快速的API。

问题是我想将我的模型与 mongodb 环回连接器连接起来以执行一些简单的查找查询。

这些是我的文件:

/server/model-config.js

"transaction": {
    "dataSource": "mongo",
    "public": true
}

/server/datasources.json

"mongo": {
    "name": "mongo",
    "connector": "mongodb"
}

/common/models/transaction.js

module.exports = function(Transaction) {

    Transaction.find({}, function(err, data) {
        console.log(data);
    });

};

以下失败并出现此错误:

错误:无法调用 transaction.find()。尚未设置查找方法。 PersistedModel 尚未正确附加到数据源!

我做错了什么?

最佳答案

执行此代码时

Transaction.find({}, function(err, data) {
    console.log(data);
});

该框架尚未准备好执行操作。您应该注册一个钩子(Hook)回调才能执行您的业务逻辑。

一个例子是:

Transaction.observe('before save', function doStuf(ctx, next) {
   Transaction.find({}, function(err, data) {
        console.log(data);
        next();// be sure to call the callback function
   });
}

其他钩子(Hook)在此链接中定义:

https://docs.strongloop.com/display/public/LB/Adding+logic+to+models

关于node.js - Loopback JS模型与MongoDB的连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35003532/

相关文章:

javascript - yargs - require 函数以无法静态提取依赖项的方式使用

javascript - 当使用 Promise.reject 生成数组时,我得到了成功响应

node.js - Mongodb native 驱动程序 toArray() on limit(1)?

jasmine - 对 Strongloop Loopback.io 模型的远程方法进行单元测试

javascript - LoopBack 字段过滤器不起作用

javascript - 我可以在浏览器中使用 nodemailer 吗?

mongodb - 在 mongodb 上通过 "second level"键选择

node.js - Mongoose - model.update 不起作用

loopbackjs - 如何使用 Loopback.js 将模型与嵌入式模型一起发布?

node.js - 如何同时运行多个 npm 脚本?