在NodeJS中构建数据模型的最佳方法是什么

时间:2018-09-10 12:36:00

标签: javascript node.js

我有一条路由会随着时间的推移向我发送许多请求,其中包含要存储在模型中的数据。

因此,第一个请求并不包含所有需要的数据,并且每次有新信息出现时我都需要解析每个请求并将其存储。

实际上我有一个单独的js文件,其中包含“模型”和方法

const request = require('request-promise');

function Conversation(param) {
console.log(param)
    this.endpoint  ;
    this.id = this.getConvId(param);
    this.createdOn = Date.now();
    this.to = this.getTo(param);
    this.from = this.getFrom(param);
    this.state = this.getState(param);
    this.importance = this.getImportance(param);
    this.threadId = this.getT;
    this.subject = this.getSubject(param);
    this.name=this.getName(param);


}

Conversation.prototype.sendIM =function sendIM(param) {
   // method to send message to a user
}

Conversation.prototype.getConvId = function getConvId(param) {
    return param.operationId
};
Conversation.prototype.getTo = function getTo(param) {
    return param.to
}
Conversation.prototype.getDirection = function getDirection(param) {
    return param.direction
}
Conversation.prototype.getState = function getState(param) {
    return param.state
}
Conversation.prototype.getOperationId = function getOperationId(param) {
    return param.sender[0].events[0]._embedded["service:messagingInvitation"].opertionId
}
Conversation.prototype.getImportance = function getSubject(param) {
    return param.importance;
}
Conversation.prototype.getSubject = function getSubject(param) {
    return param.sender[0].events[0]._embedded["service:messagingInvitation"].subject
}
Conversation.prototype.getFrom= function getFrom(param) {
    return param._embedded["localParticipant"].uri
}
Conversation.prototype.getName= function getName(param) {
    return param._embedded["acceptedByParticipant"].name
}

module.exports = Conversation;

在主应用程序文件中,创建一个新的对话对象:

var Conversation= require('./Conversation');


app.post('/callback', function (req, res) {
    if(req.body.sender.length==0) {
        res.status(200).send();
    }

    if(req.body.sender.length>0) {
        const conv = new Conversation(req.body.sender[0].events[0]._embedded['service:messagingInvitation']);
        res.status(200).send();
    }
 })

当我必须一次填充模型时,该方法很好用,但是当我更新项目时,它变得很复杂。

所以我想知道构造文件的最佳方法是什么,以便随着时间的推移我能够向模型中添加新数据?

0 个答案:

没有答案