【问题标题】:Google Cloud Datastore ORM谷歌云数据存储 ORM
【发布时间】:2020-01-30 12:53:42
【问题描述】:

是否有一些用于 nodejs 数据存储客户端库的高级 ORM?因为当实体引用和对象版本控制发生时,维护相对较小的应用程序变得非常困难。只是感兴趣,我应该开始写自己的自行车还是有人已经写过类似的东西?

如果没有,也许有一些单独的库来实现适当的引用机制?

【问题讨论】:

  • Datastore 不是关系型数据库,因此 Datastore 没有JOIN。我猜像 Ruby 的 Active Record 这样的 ORM 不适合 Datastore。
  • @nshmura,好吧,我不希望这里有实际的关系。但是,至少,因为数据存储客户端库支持的功能非常有限,所以框架已经拥有所有算法来处理代码级别的实体之间的引用和关系。我知道这是一个低级 API,因此,我对更高级的东西感兴趣,它可能更容易、更快地满足业务需求,而且工作量更少。

标签: node.js google-cloud-datastore google-cloud-platform


【解决方案1】:

查看gstore-node:

gstore-node 是一个适用于 Node.js 的 Google Datastore 实体建模库,其灵感来自 Mongoose,构建在 @google-cloud/datastore 库之上。 它不是 @google-cloud/datastore 的替代品,而是一种工具,旨在帮助通过 Schema 对实体进行建模并帮助验证保存在 Datastore 中的数据。

【讨论】:

    【解决方案2】:

    你可以试试这个结构很好,用 Typescript 写的。

    https://www.npmjs.com/package/ts-datastore-orm

    import {BaseEntity, Column, Entity} from "ts-datastore-orm";
    
    @Entity({kind: "user"})
    export class User extends BaseEntity {
        @Column({generateId: true})
        public id: number = 0;
    
        @Column({index: true})
        public total: number = 0;
    }
    
    async function main() {
        const user = User.create();
        await user.save();
        const id = user.id;
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-17
      • 1970-01-01
      • 2017-05-11
      • 1970-01-01
      • 2018-10-11
      • 2019-01-15
      • 2018-01-18
      • 2014-08-11
      • 1970-01-01
      相关资源
      最近更新 更多