问题标签 [rxdb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
authentication - 如何使用 RxDB 处理 JWT 身份验证?
我有一个本地 RxDB 数据库,我想将它与 CouchDB 连接。除了身份验证之外,一切似乎都运行良好。我不知道如何以不同的方式添加它,然后在数据库 url 中插入凭据:
我想使用 JWT 身份验证,但找不到如何添加令牌来同步请求。我只找到了一些 PouchDB(pouchdb-authentication 插件)的解决方案,但无法让它与 RxDB 一起使用。
javascript - RxDb,使用默认索引时无法对字段 XXX 进行排序
我刚刚发现了 RxDb,据我所知,它在下面运行 PouchDB,无论如何,我已经为实体定义了一个相当简单的模式:
现在的问题是,当我从组件中查询集合并尝试应用排序时,如下所示:
我收到一条错误消息cannot sort on field(s) XXX when using the default index
,据我目前所见,这与该字段不属于选择器有关吗?但它仍然令人困惑并且无法让它工作,有人知道我做错了什么吗?
reactjs - RxDB - 使用现有的本地数据库
案例
如何打开已有的数据库?
问题
我已经使用 RxDB.create() 创建了一个数据库,并创建了一些集合,将一些文档放入其中所以,在另一个脚本中,我想打开该数据库以执行一些查询,但我不知道该怎么做. 我尝试使用具有相同数据库名称的 RxDB.create(),但它会创建新数据库并覆盖上面创建的数据库。
代码示例
我只是看不到检查 .ldb 文件是否存在以及如何在不创建新文件的情况下获取对 rxdb 数据库对象的引用的适当方法。
信息
环境:电子
适配器:LevelDB
堆栈:React
包: “rxdb”:“9.5.0”,“leveldown”:“5.6.0”, “pouchdb-adapter-leveldb”:“7.2.2”
postgresql - 与基于 pouchdb 的系统客户端同步数据:“已删除”标志是否有解决方法?
我打算在后端使用 rxdb + hasura/postgresql。例如,我正在阅读这个 rxdb 页面,它要求可同步的实体有一个deleted
标志。
Q1(主要问题)
- 有没有什么时候我可以最终硬删除这些实体?必须满足哪些条件 - 例如,我可以简单地使用“早于 X 个月”,然后强制我的应用程序仅显示少于 X 个月的数据吗?
- 如果可能的话,这种硬删除是否最好直接在中央数据库中进行,因为它将是事实的来源?会有我没有预见/理解的客户端影响吗?
我预见到deleted
我的应用程序中的数量会迅速增长,我不想永远存储所有这些额外的数据。
Q2(奖金/只是好奇)
- 需要“已删除”标志的(算法)基础是什么?是不是检查一个标志比检查一个对象的遗漏更快,比如说,一个非常大的列表。如果这是一个愚蠢的问题,我深表歉意:(
rxdb - pullQueryBuilder 中的 Doc 始终为空
我已经用一个集合设置了 graphql 同步。第一次同步运行良好,数据已填充,但之后我收到如下错误:
我检查了网络日志,它总是以 0updatedAt
时间查询文档。我已经检查过了,我总是进入null
pullQueryBuilder。
pouchdb - Rxdb 迁移未运行
我有一个版本 0 的架构和 4k 文档。将版本更改为 1,具有以下策略:
重新加载页面,没有打印任何内容,调试器没有停止。我尝试按照中的代码进行操作data-migration.js
,它看起来像getBatchOfOldCollection
返回一个空批次。什么会导致它?我尝试手动运行迁移,结果相同。
rxdb - 可以从现有的 graphql 模式生成 RxDB 模式吗?
很好奇这是否可能,我看到graphQLSchemaFromRxSchema
了在另一个方向上工作,但我们已经有了一个我们想要使用的 graphQL 模式。
indexeddb - Rxdb:通过手动复制(复制)rxdb 数据库来清除已删除的项目和旧修订?
我正在寻找一种在浏览器中本地复制 rxdb 实例的方法(本地存储到本地存储)。我在某处读到这是清除已删除项目的唯一方法(现在找不到链接)。其实,我想做的是:
- 清除已删除的项目(已删除标志集)
- 清除旧修订(早于某个时间戳)但是我找不到如何执行此操作的示例。我需要经常清除,因为我的数据经常更改,而且我会很快超过浏览器存储(以及我正在同步到的远程数据库中的行)。
这是我基于rxdb 文档的粗略想法:
问题:
- 我正在考虑间歇性地运行这个客户端(也许每 30 分钟一次?)这种方法可以吗?我错过了什么还是转储/导入转储不是要走的路?
- 我需要帮助找出过滤器中“ latestRevision ”条件的逻辑吗?我怎么知道呢?
electron - 使用 rxdb 缓慢加载具有大型数据集的 Nuxt/Electron 桌面应用程序
当加载超过 1000 个结果的页面/表时,加载数据大约需要 6 秒钟,有时会暂时冻结应用程序。
分页不起作用,因为我需要获取“统计卡”的计数,而 rxdb 不提供任何类型的计数功能 - 所以我不得不提取整个数据集。
我目前正在使用挂载功能来提取数据并订阅更新
如果你们中的任何人对我如何加快速度有任何建议,我将不胜感激?