没有数据库的“模型”的NodeJS模式

时间:2019-08-01 21:48:25

标签: node.js oop

上下文

我有一条管道可以识别抄录中提出的主张。最后,Claim个项目存储在数据库中-因此它们具有与之关联的Sequelize模型。

在得到Claim之前,我有一组陈述。例如

  

裤子大王约翰·威克(John Wick):在过去的一周中,我吃了五千多耳玉米。也就是说,我不确定今天的心情。

这将被解析成这样的东西:

{
  speaker: {
    name: 'John Wick',
    attribution: 'Lord of Pants',
  },
  text: 'I have eaten over five thousand ears of corn in the past week. That said, I'm not sure how I feel today.'
}

我将此对象称为Statement,其属性将随着时间的推移而扩展,以便抓取器可以添加诸如执行语句的时间,语句的位置等内容。

然后将处理该问题,我们可能会提取类似于以下内容的声明:

{
  id: 1,
  speakerName: 'John Wick',
  speakerAttribution: 'Lord of Pants',
  text: 'I have eaten over five thousand ears of corn in the past week.',
  claimScore: .95,
}

挑战

我不想存储语句-它们只是一个临时结构,传递给处理声明检测的管道部分。但是,我确实希望将语句组织为具有文档属性的命名对象。甚至验证,获取器和设置器。

在NodeJS中执行此操作的“正确”方法是什么?您怎么称这种类型的对象?它不是模型,因为它不是带有DB /迁移的真实模型...它是数据传输对象(DTO)吗?我应该在/dto旁边建立一个/models目录吗?

其他信息

这是我们的目录结构,如果有帮助的话:

Directory structure

问题

您在节点代码库中的何处存储没有数据库后端的数据结构/模型?你叫他们什么?

/dtos(感觉像Java ...),/models(以及ORM模型?),/objects(似乎通用)?

0 个答案:

没有答案