我正在重写一个项目以使用Node.js.我想继续使用MySQL作为数据库(尽管我不介意重写架构)。 我正在寻找一种简单易用,性能合理的ORM,它支持缓存,多对一和多对多关系。 从我发现的MySQL ORM中,persistencejs和sequelize似乎是最成熟的。 你有经验吗?在我的决定中我应该注意哪些相关的利弊?
答案 0 :(得分:131)
我会选择Sequelize,因为它是出色的文档。这只是一个诚实的意见(我从来没有真正使用MySQL与Node)。
答案 1 :(得分:93)
我可以建议Node ORM吗?
https://github.com/dresende/node-orm2
有关自述文件的文档,支持MySQL,PostgreSQL和SQLite。
MongoDB自版本 2.1.x (2013年7月发布)
后可用答案 2 :(得分:19)
首先,请注意我没有使用其中任何一个(但已使用Node.js)。
这两个库都记录得很好并且有一个 稳定的API。但是,persistence.js似乎是used in more projects。但我不知道他们是否仍然使用它。
sequelize的开发者有时会在blog.depold.com发布关于它的博客。当您想使用主键作为外键时,您需要this blog post中描述的补丁。如果您需要persistence.js的帮助,那么有一个专门讨论它的谷歌小组。
从我收集的例子中我知道sequelize比persistance.js更像JavaScript(更多糖),但是支持更少的数据存储(只有MySQL,而persistance.js甚至可以使用浏览器内存储)。
我认为sequelize可能是你的方式,因为你只需要MySQL支持。但是,如果您需要一些方便的功能(例如搜索)或者稍后想要使用其他数据库,则需要使用persistence.js。
答案 3 :(得分:9)
Sequelize和Persistence.js之间的一个主要区别是前者支持STRING
数据类型,即VARCHAR(255)
。制作一切TEXT
让我感到非常不舒服。