首页 > 解决方案 > 用于收集的环回远程方法中的自定义 CRUD,而不是用于 mongodb 的模型

问题描述

我正在为我的项目使用 Loopback。我为测试模型创建了一个模型“test”和一个远程方法“createOrder”。

'use strict';

module.exports = function (Test) {
    /**
     * 
     * @param {number} amount 
     * @param {Function(Error)} callback
     */

    Test.createOrder = function (amount, callback) {
        // Add log to the logs collection 
        callback(null);
    };
};

我使用 MongoDB 作为数据源。

{
  "db": {
    "name": "db",
    "connector": "memory"
  },
  "paymentDS": {
    "host": "localhost",
    "port": 27017,
    "url": "",
    "database": "test",
    "password": "",
    "name": "testDS",
    "user": "",
    "useNewUrlParser": true,
    "connector": "mongodb"
  }
}

我想从测试模型中定义的 createOrder 远程方法将日志插入日志集合。我怎样才能做到这一点?

标签: node.jsmongodbloopbackjsloopback

解决方案


如果您有 Logs 集合的模型,您可以执行以下操作:

Test.createOrder = function(amount, callback) {
    // ...
    Test.app.models.Log.create(/*...*/)
    // ...
};

否则,您可以直接从 db 连接器访问日志集合:

Test.createOrder = function(amount, callback) {
    // ...
    Test.app.datasources.db.collection("logs").insert(/**/);
    // ...
};

推荐阅读