我正在重写一个项目以使用Node.js。我想继续使用MySQL作为数据库(即使我不介意重写架构)。我正在寻找一种易于使用,性能合理的ORM,它支持缓存,多对一和多对多关系。从MySQL ORM中我可以发现,persistencejs和sequelize似乎是最成熟的。您是否有经验?我在决策中应注意哪些利与弊?
我正在重写一个项目以使用Node.js。我想继续使用MySQL作为数据库(即使我不介意重写架构)。我正在寻找一种易于使用,性能合理的ORM,它支持缓存,多对一和多对多关系。从MySQL ORM中我可以发现,persistencejs和sequelize似乎是最成熟的。您是否有经验?我在决策中应注意哪些利与弊?
Answers:
我可以建议Node ORM吗?
https://github.com/dresende/node-orm2
自述文件中有文档,支持MySQL,PostgreSQL和SQLite。
自2.1.x版(2013年7月发布)以来,MongoDB可用。
我会选择Sequelize,因为它的文档很好。这只是一个诚实的看法(我从没真正将MySQL与Node一起使用过那么多)。
首先,请注意,我没有使用过任何一个(但是使用过Node.js)。
这两个库都有很好的文档记录,并具有稳定的API。但是,persistence.js似乎在更多项目中使用。我不知道他们是否仍然使用它。
sequelize的开发人员有时会在blog.depold.com上发布有关此问题的博客。如果您想将主键用作外键,则需要此博客文章中描述的补丁。如果您需要persistence.js的帮助,可以使用专门的Google小组。
从我收集的示例中,续集比persistance.js有点像JavaScript(更多糖),但是支持较少的数据存储(仅MySQL,而persistance.js甚至可以使用浏览器内存储)。
我认为续集可能是您的最佳选择,因为您只需要MySQL支持。但是,如果您需要一些方便的功能(例如搜索),或者以后想要使用其他数据库,则需要使用persistence.js。
Sequelize和Persistence.js之间的主要区别是前者支持一种STRING
数据类型,即VARCHAR(255)
。做一切我真感到不自在TEXT
。