我对节点很陌生,我想知道是否有任何标准的、开放的 API 可以让我远离所有不同的数据库特性。
任何与教程或文档的链接都会非常受欢迎。
Node 没有“标准”数据库抽象层,但请看一下Node-DBI,它是开源的并在 GitHub 上维护。可能还有其他的,但是这个有一个很好的接口和几个适配器。
我认为node-jdbc是一个经常更新的综合模块。它的文档也可以在 github 上访问。
不完全是,Node.js 的Loopback框架具有类似 ORM 的数据源连接器,允许您通过通用语法连接到许多数据源。它是一个完整的企业级框架,因此还有许多其他组件。Sails.js 等其他框架也有类似的组件。
Sequelize是适用于 PostgreSQL、MySQL、SQLite 和 MSSQL 的出色 ORM。
TypeORM也很棒,支持 MySQL、PostgreSQL、MariaDB、SQLite、MS SQL Server、Oracle、SAP Hana、WebSQL 数据库。适用于 NodeJS、浏览器、Ionic、Cordova 和 Electron 平台。
虽然不完全像 JDBC 或 JPA,但 knex似乎是多个数据库之上的一个很好的 SQL 抽象。
Knex.js 是一个“包含电池”的 SQL 查询构建器,适用于 Postgres、MSSQL、MySQL、> MariaDB、SQLite3、Oracle 和 Amazon Redshift,旨在灵活、便携、> 和有趣的使用。
我还没有真正使用过它,但考虑到荒凉的景观,它似乎是一个不错的选择。