tongchia
V2EX  ›  Node.js

发现一个可以用 ES7 async 的 Mongo ORM --- Mongorito

  •  
  •   tongchia · Feb 13, 2017 · 3404 views
    This topic created in 3377 days ago, the information mentioned may be changed or developed.

    Koa2 越来越完善了 尝试用 Koa2 写点东西 async await 语法很优雅 异步流程变得很直观;

    然后我就在找 promise 版的 mongodb 驱动;

    Mongoose 是可以用 .exec() 返回 promise 的, 但我始终觉得 Mongoose 太重了, 其实很多情况下都在用 aggregate, 返回的结果都用不到我们再 Model 里定义的 virtuals, hooks ... 当然, 不用 Mongoose 就用不了它很多很牛的插件 如处理 path 结构的 Materialized 等 ...

    不管怎样, 我搜了下 promise 版的 Mongo 驱动 找到了这个 看上去还不错 功能特点:

    • 支持 ES6 class 的 Model
      • Model 支持 hook, 虽然注册 hook 的方法不怎么优雅.
    • 支持 ES7 async 的查询
      • 基于 mquery 的语义化的查询很方便
      • 不支持直接使用 aggregate, 已提交 issue

    https://github.com/vadimdemedes/mongorito

    大家还有什么好的推荐吗?

    Supplement 1  ·  Feb 20, 2017
    最近又看到这个
    一个轻量级的框架, 比原生驱动方便, 很神奇.
    返回标准的 promise, 可以使用 .then() 和 .catch() 处理结果和错误.
    会自动处理与数据库的连接.
    Monk
    https://github.com/Automattic/monk

    但是没有 Schema, hook 支持还是有些不方便 ...

    有没有轻量级数据验证的模块?
    2 replies    2017-02-16 18:35:04 +08:00
    songdezu
        1
    songdezu  
       Feb 14, 2017
    主要问题是 orm 能不能保证 query 过程的性能和速度, 语法其实无所谓
    tongchia
        2
    tongchia  
    OP
       Feb 16, 2017
    额, 感觉没人气呢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5536 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 07:33 · PVG 15:33 · LAX 00:33 · JFK 03:33
    ♥ Do have faith in what you're doing.