推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
shidenggui

Javascript 有什么比较好用的 ORM 吗,用的 TypeORM 感觉比较简陋?

  •  
  •   shidenggui · Feb 27, 2020 · 5599 views
    This topic created in 2277 days ago, the information mentioned may be changed or developed.
    之前是 Python 程序员,Django 的 ORM 用着很舒适,但是最近想学下 Javascript,就用了 Nestjs 这个 Typescript 框架,里面推荐使用 TypeORM,但是我用了之后发现功能还比较简陋,没有 Django 的体验丝滑,不知道有没有其他功能更好的 ORM 推荐?

    而且我发现一个小问题,TypeORM 的 save 操作会返回保存的 ORM 对象,但是这个对象只是 plain object,而不是向 findOne 一样返回的是定义的表 class 的 Instance,导致表 class 上定义的方法都消失了,不知道为什么这样设计?
    9 replies    2021-05-27 09:47:37 +08:00
    AdamChrist
        1
    AdamChrist  
       Feb 27, 2020
    看看 Sequelize ?
    shidenggui
        2
    shidenggui  
    OP
       Feb 27, 2020
    @AdamChrist 多谢,我有空研究下。感觉 Javascript ORM 这边的积累还是有点弱。
    xlinux
        3
    xlinux  
       Feb 27, 2020 via Android
    Mikro ORM
    xieren58
        4
    xieren58  
       Feb 27, 2020
    knex.js, sql 一把梭
    shidenggui
        5
    shidenggui  
    OP
       Feb 27, 2020
    @xlinux 这个跟 TypoORM 很像啊,不过好像功能强一点,不知道实际体验怎么样。
    @xieren58 sql 一把梭有点狠。
    dream4ever
        6
    dream4ever  
       Feb 27, 2020
    用的什么数据库?我用的 MongoDB,ORM 是 mongoose。
    shidenggui
        7
    shidenggui  
    OP
       Feb 27, 2020
    @dream4ever Mysql,一开始也考虑用 Mongo,但是 Nestjs 的官方推荐框架是 TypoORM,就直接用了,然后发现坑不少。不过好像 MongoDB 比 Mysql 更占资源?我的是一个小开源项目,快完工了,想运维的时候节省点资源。
    dream4ever
        8
    dream4ever  
       Feb 27, 2020
    @shidenggui 既然快完工了,那就按自己的喜好来吧。
    至于资源占用方面,我刚登上公司的阿里云服务器看了看,MySQL 内存占用 800MB+,MongoDB 则是 100MB+。而且即使 MongoDB 内存占用比 MySQL 多,应该也多不到哪里去吧,毕竟也是很主流的数据库了。
    leohxj
        9
    leohxj  
       May 27, 2021
    Prisma 现在比较成熟了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 19:24 · PVG 03:24 · LAX 12:24 · JFK 15:24
    ♥ Do have faith in what you're doing.