node 有没有包装了 mysql 和 mssql 等常见数据库操作的统一的三方库?

2016-03-01 17:43:26 +08:00
 microchang

RT 。

  1. 起码包括了 mysql 和 mssql 这两种数据库的 curd ,针对表和库的操作,视图,存储过程;
  2. 包装过后,无论哪个数据库,通过这个三方库的 API 来操作的时候,我是感受不到数据库差异带来的不同的。换言之,一个 API ,除了 dbType 参数可能不同,其他都一样;
  3. 因为数据来源不确定,所以不需要 orm ,如sequelize,只需要可以执行 sql 语句并返回结果即可。

反复查找思考了一天,虽然有squel这种感觉能抹掉查询语句差异的三方库,然而它提供的操作手段还是太少。

目前的想法是大部分的 curd 语句应该是相同的,少部分的语句可能会有语法或者结果上的差异。这部分手动处理,其他则手动包装一下。

伟大的 V 友们,你们有什么推荐或者好的想法没?求教之~

3212 次点击
所在节点    Node.js
11 条回复
yimity
2016-03-01 18:15:58 +08:00
你要的是不是这个? sequelizejs
fo2w
2016-03-01 18:51:56 +08:00
@yimity 我还是建议回答前阅读完原文
microchang
2016-03-01 18:52:03 +08:00
@yimity 数据结构和来源不固定, orm 无力。。。
janxin
2016-03-01 19:48:44 +08:00
没明白, sequelize.query 这种 raw query 也不行吗?需求到底是啥样子的?
jerray
2016-03-01 19:52:38 +08:00
https://github.com/tgriesser/knex 支持好几个数据库,但好像并没有 mssql 。
loading
2016-03-01 20:52:10 +08:00
这不就是相当于内部的 restful api …
stackboom
2016-03-01 20:54:07 +08:00
自己写咯~ 根据 dbType 判断呗。
microchang
2016-03-01 21:01:04 +08:00
@janxin 之前看文档看漏了……只看了一个 guide ……我仔细看看!
microchang
2016-03-01 21:01:29 +08:00
@jerray 是的……微软大法好……
microchang
2016-03-01 21:02:02 +08:00
@loading
@stackboom

` _>` 人生多艰……
for8ever
2016-03-03 09:27:55 +08:00
对于关系型数据库,用 Sequelize ,嗯 (⊙v⊙)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/260268

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX