我应该将哪些ORM用于Node.js和MySQL?

时间:2011-05-15 08:34:15

标签: mysql orm node.js

我正在重写一个项目以使用Node.js.我想继续使用MySQL作为数据库(尽管我不介意重写架构)。 我正在寻找一种简单易用,性能合理的ORM,它支持缓存,多对一和多对多关系。 从我发现的MySQL ORM中,persistencejssequelize似乎是最成熟的。 你有经验吗?在我的决定中我应该注意哪些相关的利弊?

4 个答案:

答案 0 :(得分:131)

我会选择Sequelize,因为它是出色的文档。这只是一个诚实的意见(我从来没有真正使用MySQL与Node)。

答案 1 :(得分:93)

我可以建议Node ORM吗?

https://github.com/dresende/node-orm2

有关自述文件的文档,支持MySQL,PostgreSQL和SQLite。

MongoDB自版本 2.1.x (2013年7月发布)

后可用

更新:根据项目的自述文件,不再维护此包。它建议bookshelfsequelize

答案 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让我感到非常不舒服。