pongo基于pg的类似mongo语法查询npm包

pongo 是一个node 包装可以让我们使用类似mongo 查询的模式进行数据操作(底层数据存储在pg)同时提供强一致性

包含的特性

  • 利用pg 提供了强一致性
  • 方便集成
  • 重用mongo 代码,因为兼容mongo api (注意并不是100%)
  • 增强了传统pg json 查询能力
  • 可以更好的使用pg 周边的一些能力,比如分片,逻辑复制
  • 无缝的支持兼容pg 的云数据库,cockroackdb,supabase

pongo内部存储格式

如下,基于了jsonb 进行处理

CREATE TABLE IF NOT EXISTS "YourCollectionName" (
    _id           TEXT           PRIMARY KEY,
    data          JSONB          NOT NULL,
    metadata      JSONB          NOT NULL     DEFAULT '{}',
    _version      BIGINT         NOT NULL     DEFAULT 1,
    _partition    TEXT           NOT NULL     DEFAULT 'png_global',
    _archived     BOOLEAN        NOT NULL     DEFAULT FALSE,
    _created      TIMESTAMPTZ    NOT NULL     DEFAULT now(),
    _updated      TIMESTAMPTZ    NOT NULL     DEFAULT now()
)

说明

pongo 属于一个包,可以方便的使用类似mongo的语法进行数据的存储查询,值得尝试下

参考资料

https://github.com/event-driven-io/Pongo

https://event-driven-io.github.io/Pongo/

https://docs.ferretdb.io/understanding-ferretdb/

https://github.com/FerretDB/FerretDB

https://event-driven.io/en/introducting_pongo/?utm_source=pongo_github

posted on 2024-12-04 00:12  荣锋亮  阅读(2)  评论(0编辑  收藏  举报

导航