跳到主要内容

与 rxdb.info 的区别

npm 上的 rxdb 是一个成熟的 NoSQL 文档数据库,和本项目(@aiao/rxdb 及 @aiao/* 系列包)没有任何关系: 不是 fork、不是插件、不共享代码或协议。两个项目名字相近,但解决的问题和取舍不同。选型前先看这张表。

维度rxdb(rxdb.info)@aiao/rxdb(本项目)
数据模型JSON 文档 + JSON Schema,集合(collection)TypeScript 装饰器实体(@Entity / @TreeEntity / @GraphEntity),关系与索引在声明里
存储引擎可插拔 storage(IndexedDB / Dexie / SQLite / 内存等)关系型引擎:浏览器内 SQLite(wa-sqlite / sqlite-wasm / sqliteai)或 PostgreSQL(PGlite),桌面走 Electron node:sqlite / Tauri rusqlite
查询Mango 风格文档查询类型安全的 RuleGroup 条件 + 排序 / 分页 / 游标,落到真实 SQL;树、图查询内建
关系文档引用,population 手工展开1:1 / 1:N / N:1 / M:N 自动中间表,级联查询与变更
响应式RxJS ObservableRxJS Observable → Angular Signals / React Hooks / Vue Composables,三端 API 对称
同步自带 replication 协议 + 多种远端插件适配器层:Supabase、HTTP(远端权威 + 本地行缓存)、自定义 remote adapter
版本与协作无内建版本图Git 式分支 / 合并 / 撤销重做;工作树与提交历史由 @aiao/rxdb-plugin-working-tree 提供(含 commit / diff / restore,以及带 requireClean / expectedActivationRevision 前置条件的 switchBranch)
加密加密插件字段级 AES-GCM-256 内建于 SQLite / PGlite 适配器
许可与商业化核心开源,部分插件为付费全部 MIT
成熟度多年生产使用0.x,API 尚未冻结,见版本策略

什么时候该用哪个​

  • 你的数据天然是文档、想要现成的多端 replication 与庞大的生态 → 用 rxdb。
  • 你要在浏览器 / 桌面里跑关系型模型(外键、中间表、事务、SQL 级索引),想用一份 TypeScript 声明同时驱动 schema、类型、查询和三框架 UI → 用 @aiao/rxdb。

关于 rxdb.info 的描述取自其公开文档,可能随其版本变化;以对方官网为准。