【问题标题】:Any Postgres compatible ORM for Node.js? [closed]任何适用于 Node.js 的 Postgres 兼容 ORM? [关闭]
【发布时间】:2011-12-23 22:03:42
【问题描述】:

我正在为 Node.js 下的 postgres 寻找一个好的 ORM,它支持声明模型之间的关系和字段验证。我已经搜索了很长时间,但没有得到任何令人满意的结果。也许有人可以指出我在研究期间错过的一个项目。 谢谢。

【问题讨论】:

  • 避免使用 ORM。使用 postgres 数据库驱动程序

标签: postgresql orm node.js


【解决方案1】:

node-orm2 看起来不错:支持关联、验证器以及 mysql、postgres 和 mongo(测试版)

更新node-orm2 包不再维护。可能的替代方案包括bookshelfsequelize

【讨论】:

  • 目前,当未提供值时,它不会在插入时向 PG 提供 DEFAULT
  • @kolypto 看起来有解决方法。 github.com/dresende/node-orm2/issues/391
  • @GregGuida,是的,现在有,但以前没有
【解决方案2】:

JugglingDB - 受 activerecord 和 datamapper 启发的多数据库 ORM。支持验证、挂钩、关系。适用于:mysql、postgres、sqlite、memory、redis、mongodb、neo4j。

现在(2012 年 3 月)尚未准备好生产,但增长很快。我计划尽快发布稳定版本。

【讨论】:

  • 目前,它假定您的 PK 列名为 id,并且是硬编码的
【解决方案3】:

对于 node.js 的快速特性,ORM 有点太慢了;普通的数据库驱动程序很好,但有点累。那是因为我确实在prego之间写了一些东西。它提供自动语句准备、迁移、带有关联的简单模型、事务和少量实用程序,所有回调样式且速度快。欢迎提出想法/问题。

【讨论】:

    【解决方案4】:

    SequelizeJS - 模型、验证和迁移

    BookshelfJS - 基于 promise 的 ORM 看起来很有前途

    【讨论】:

    • 关于 sequelize 的说明 - 它的关联实现非常有问题,我根本无法让它们在我的项目中工作。
    • 书架很棒。
    【解决方案5】:

    Missy 是一个适用于 SQL 和 NoSQL 数据库的通用 ORM,它简单、灵活、文档齐全,并支持其他 ORM 所缺乏的一些花哨功能

    【讨论】:

      【解决方案6】:

      我建议你使用这对:pg(如驱动程序)和light-orm(如 orm 包装器)。

      https://npmjs.org/package/pg

      https://npmjs.org/package/light-orm

      【讨论】:

        【解决方案7】:

        https://www.npmjs.org/package/rdb
        简单、灵活的映射器。
        具有提交和回滚的事务。
        持久性无知 - 无需显式保存,一切由事务处理。
        急切或延迟加载。
        基于承诺。
        由(运行的)示例很好地记录。

        【讨论】:

          【解决方案8】:

          建议尝试Knex 用于数据库,Bookshelf 作为其上的 ORM(由同一个人开发)。我将它与 postgres 一起使用,但也支持 SQLite、MySQL/MariaDB 和 Oracle(alpha 版本)。

          非常富有表现力的基于 Promise 的 API,其背后有 bluebird,knex 有一个文档齐全且很棒的命令行工具,用于制作迁移、种子文件等。Bookshelf 使用主干模型和集合作为灵感,包括 .extend(..) 范式为了继承,所以如果你来自那个世界,拿起它是一件轻而易举的事。到目前为止,一切顺利。

          【讨论】:

          • 你有使用 BS 的 App 吗?,....它的性能如何?
          • 是的,我在生产中使用它。性能非常好。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-14
          • 2011-06-16
          • 2014-04-25
          • 1970-01-01
          相关资源
          最近更新 更多