V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tongchia
V2EX  ›  Node.js

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

  •  
  •   tongchia · 2017-02-13 15:00:21 +08:00 · 2717 次点击
    这是一个创建于 2826 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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

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

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

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

    有没有轻量级数据验证的模块?
    2 条回复    2017-02-16 18:35:04 +08:00
    songdezu
        1
    songdezu  
       2017-02-14 00:22:53 +08:00
    主要问题是 orm 能不能保证 query 过程的性能和速度, 语法其实无所谓
    tongchia
        2
    tongchia  
    OP
       2017-02-16 18:35:04 +08:00
    额, 感觉没人气呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:24 · PVG 00:24 · LAX 08:24 · JFK 11:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.