我正在重写一个使用Node.js的项目。我希望继续使用MySQL作为DB (尽管我不介意重写模式)。我正在寻找一种简单易用、性能合理的ORM,它支持缓存、多对一和多对多关系。从我能找到的MySQL ORM中,persistencejs和sequelize似乎是最成熟的。你有使用这两种方法的经验吗?在我的决定中,我应该了解哪些相关的利弊?
发布于 2011-11-22 20:25:07
我会选择Sequelize,因为它有很好的文档。这只是一个诚实的观点(我从来没有在Node中使用过那么多MySQL )。
发布于 2011-11-27 00:32:53
首先,请注意,我没有使用它们中的任何一个(但使用了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。
发布于 2011-12-05 04:53:06
Sequelize和Persistence.js之间的一个主要区别是前者支持STRING
数据类型,即VARCHAR(255)
。我觉得把所有的东西都变成TEXT
真的很不舒服。
https://stackoverflow.com/questions/6007353
复制相似问题