我正在重写一个使用Node.js的项目。我想继续使用MySQL作为数据库(即使我不介意重写模式)。 我正在寻找一种易于使用、性能合理的ORM,它支持缓存、多对一和多对多关系。 从我能找到的MySQL orm来看,persistencejs和sequelize似乎是最成熟的。 你有这两方面的经验吗?在做决定时,我应该注意哪些相关的利弊?
当前回答
我可以推荐Node ORM吗?
https://github.com/dresende/node-orm2
Readme上有文档,支持MySQL, PostgreSQL和SQLite。
MongoDB从2.1版本开始可用。x(2013年7月发布)
更新:根据项目的README,这个包不再维护。相反,它推荐书架和续集
其他回答
我可以推荐Node ORM吗?
https://github.com/dresende/node-orm2
Readme上有文档,支持MySQL, PostgreSQL和SQLite。
MongoDB从2.1版本开始可用。x(2013年7月发布)
更新:根据项目的README,这个包不再维护。相反,它推荐书架和续集
Sequelize和Persistence.js之间的一个主要区别是前者支持STRING数据类型,即VARCHAR(255)。我觉得把所有东西都变成文本真的很不舒服。
首先,请注意,我没有使用过它们(但使用过Node.js)。
这两个库都有很好的文档记录,并有一个 稳定的API。然而,persistence.js似乎在更多的项目中使用。不过,我不知道他们是否还在使用它。
续作的开发者有时会在blog.depold.com上发表博文。当你想使用主键作为外键时,你需要这篇博文中描述的补丁。如果你想要一些关于persistence.js的帮助,有一个谷歌小组致力于此。
从我收集的例子来看,sequelize比persistence .js更像javascript(更糖),但支持的数据存储更少(只支持MySQL,而persistence .js甚至可以使用浏览器内存储)。
我认为续集可能是你的方式,因为你只需要MySQL的支持。然而,如果你需要一些方便的功能(例如搜索),或者以后想要使用不同的数据库,你就需要使用persistence.js。
我会选择Sequelize,因为它有出色的文档。这只是一个诚实的意见(我从来没有真正使用MySQL与Node)。
推荐文章
- 如何关闭mysql密码验证?
- MySQL区分大小写查询
- MySQL数据库表中的最大记录数
- 原则-如何打印出真正的sql,而不仅仅是准备好的语句?
- PHP/MySQL插入一行然后获取id
- ReferenceError: description没有定义NodeJs
- 将一个二进制的NodeJS Buffer转换为JavaScript的ArrayBuffer
- 如何从命令行通过mysql运行一个查询?
- 如何从命令行在windows中找到mysql数据目录
- AngularJS只适用于单页应用程序吗?
- 如何找到MySQL的根密码
- 如何改变字符集(和排序)在整个数据库?
- mySQL:: insert到表,数据从另一个表?
- 重复键忽略?
- 如何在vue-cli项目中更改端口号