无法在hapijs中从lib函数调用Service

时间:2018-05-02 10:13:56

标签: node.js

我正在使用hapijs,我正在尝试将SMS日志保存到我的mongodb数据库中,这些数据库是从" Lib / NotificationManager.js"触发的。

 /*** SMS LOG TO DB ***/
                    var dataToSet = {
                        triggeredFrom : "XXX",
                        triggeredTo : "XXX",
                        message : smsOptions.Body,
                        messageType : type,
                        messageFor: "XXX",
                        variables : variableDetails,
                        response : res,
                    };
                    Service.MessageLogsService.addMessageLogsinsert(dataToSet, function (err, data) {
                    });
/*** SMS LOG TO DB ***/

我已将服务和模型包含在我的NotificationManager.js文件中。

var Service = require('../Services');
var Models = require('../Models');

通过错误

"Cannot read property 'addMessageLogsinsert' of undefined"

如果我从任何控制器调用它,它工作正常。

1 个答案:

答案 0 :(得分:0)

我尝试在notificationManager.js中使用Model直接运行查询,如下所示。

/*** SMS LOG TO DB ***/
                var dataToSet = {
                    triggeredFrom : "XXX",
                    triggeredTo : "XXX",
                    message : smsOptions.Body,
                    messageType : type,
                    messageFor: "XXX",
                    variables : variableDetails,
                    response : res,
                };
                Models.MessageLogs.collection.insert(dataToSet,function (err, data) {
                // Service.MessageLogsService.addMessageLogsinsert(dataToSet, function (err, data) {
                });
              /*** SMS LOG TO DB ***/

有效。