首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JSData和Sequelize时保持干燥

使用JSData和Sequelize时保持干燥
EN

Stack Overflow用户
提问于 2015-12-21 05:46:06
回答 1查看 215关注 0票数 0

JSData是取代还是补充Sequelize.js?

我正在尝试理解这两个库如何协同工作,以及它们是否应该一起工作。

根据我的理解,JSData主要负责访问数据,而Sequelize.js将创建和修改scema,并提供对对象的访问。

如果我使用Sequelize.js,在服务器端使用JSData有什么意义吗?

我正在考虑在服务器端使用Sequelize,对这些对象实现一些REST API,并在客户端使用JSData + JSDATA-http来访问REST API,但我觉得我必须定义对象两次……一次用于Sequelize,一次用于JSData --有什么魔法可以避免两次这样做的需要吗?或者我是不是想错了?

EN

回答 1

Stack Overflow用户

发布于 2015-12-21 08:14:50

JSData是取代还是补充Sequelize.js?我正在尝试理解这两个库如何协同工作,以及它们是否应该一起工作。

在服务器端,js-data + js-data-sql将替换Sequelize,类似于js-data + js-data-mongodb替换Mongoose。js-data-sql在幕后使用Knex.js,您可以将其用于模式迁移以及Knex支持的任何其他内容。对于模式验证,您可以通过validate生命周期挂钩(和其他地方)将您喜欢的验证库插入到js-data中。

如果我使用Sequelize.js,在服务器端使用JSData有什么意义吗?

不是

我正在考虑在服务器端使用Sequelize,实现一些REST API,在客户端使用JSData + JSDATA-http来访问REST API,但我觉得我必须为Sequelize定义对象twice...once,为JSData定义一次--有什么魔法可以避免两次这样做的需要吗?

我实际上有在客户端使用js-data + js-data-http和在服务器端使用Sequelize的经验。您可以这样做,但是的,您必须定义每个模型/资源两次,一次使用Sequelize API,一次使用js-data API。您可以通过将公共逻辑提取到服务器和客户端可以使用的“基本”模型中来减少重复。但是,如果您在服务器上使用js-data,则可以直接在客户端编写复杂的查询,而不必将它们转换为服务器的ORM可以理解的内容。

,还是我在以错误的方式思考这一切?

不,你只是想了解你的选择。作为js-data的作者,我当然会支持js-data + js-data- sql,但是js-data + js-data-sql落后于Sequelize的主要方面是Sequelize具有对belongsToMany (n:m)关系的本机支持和对sql数据类型的内置理解(验证取决于您对js-data的验证)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34386222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档