我应该使用哪个ORM作为Node.js和MySQL?

我正在重写一个项目来使用Node.js. 我想继续使用MySQL作为数据库(即使我不介意重写模式)。 我正在寻找一个简单易用,性能合理的ORM,它支持caching,多对一和多对多的关系。 从我能find的MySQL ORM中, persistencejs和sequelize看起来是最成熟的。 你有没有经验? 在我的决定中,我应该了解哪些相关的利弊呢?

我可以build议Node ORM吗?

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

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

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

我会selectSequelize,因为它是优秀的文档。 这只是一个诚实的意见(我从来没有真正使用过MySQL的MySQL)。

首先,请注意,我没有使用过任何一个(但使用过Node.js)。

这两个库都logging得相当好,并有一个稳定的API。 但是,persistence.js似乎被用在更多的项目中 。 不过,我不知道他们是否还在使用它。

sequelize的开发者有时会在blog.depold.com上发表关于它的博客。 当你想使用主键作为外键时,你需要在这个博客文章中描述的补丁。 如果你想为persistence.js寻求帮助,那么就有一个专门负责它的谷歌组织。

从我的例子中可以看出,sequelize比persistance.js更像JavaScript(更多的糖),但支持更less的数据存储(只有MySQL,而persistance.js甚至可以使用浏览器存储)。

我认为sequelize可能是你的方式,因为你只需要MySQL的支持。 但是,如果您需要一些方便的function(例如search)或稍后想要使用其他数据库,则需要使用persistence.js。

Sequelize和Persistence.js之间的一个主要区别是前者支持STRING数据types,即VARCHAR(255) 。 把所有的东西TEXT我觉得很不舒服。