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