问题标签 [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.
rxdb - 如何列出 RxDB 集合中的所有文档?
在 RxDB 中,要列出包含文档的远程数据库上的集合中的所有文档,我尝试过:
和
来自文档:https ://rxdb.info/rx-collection.html#dump https://rxdb.info/rx-document.html#find
但两者都_find
用身体发帖:
返回一个空的 docs [] 数组。_find
在 RxDB 之外执行的相同选择器也返回一个空的 docs 数组。
如果我使用 将文档添加到集合中myCollection.upsert()
,则文档将添加到远程服务器,然后在上述两个调用中显示为响应。但可能仅来自存储在内存中的内容,因为仍然有这个远程POST响应_find
为空。docs: []
因此,在页面刷新时,这些列表调用再次为空。
我正在使用:
mongodb-query - rxDB 查询数组元素是否存在问题?
我正在尝试获取那些具有“someArray”的对象 - 数组和 someArray 对象之一“val”> 0 和“someKey”=== 415
如 rxdb 文档中所述,我在 rxDB 中使用 mongoDBs 的链式方法,但是查询数组元素总是返回空数组,它不会给我任何错误。我正在使用 rxdb 版本 8.0.4。
预期的结果总是空数组,但在我的 localDB 中存在这些数据,100% 肯定。
reactjs - 无法运行 RxDb MigrationStrategies
我正在尝试实现一个简单的迁移策略,如此处文档中所述:https ://rxdb.info/data-migration.html
我想知道是否有人成功实施了migrationStrategies,因为我在网上找不到任何示例,或者我只是在浪费时间。
当我尝试传入一个对象(如文档规定)时,我收到以下错误:
RxError: RxError: migrationStrategies must be a function Uncaught (in promise) >RxError: RxError: migrationStrategy must be a function
当我尝试将策略作为函数传递时,出现以下错误:
RxError:RxError:migrationStrategies 必须是一个对象construct.js:30 未捕获(承诺)RxError:RxError:migrationStrategies 必须是一个对象
预期输出:
运行迁移并设置新属性(flavour & someNewProperty)
将 migrationStrategies 作为对象传入时的实际结果:
实际结果:当将迁移策略作为上述函数传递时,我收到以下错误消息:
javascript - RxDB - Document update conflict (error 409)
I use RxDB and want to update the document in it. This is how the db is created:
This is the method to get the db:
And this is the generator function to save data to DB:
The issue is: usually saveDataToDb
function works pretty good, but after calling it several times, it goes to catch
with this error:
It happens when I'm trying to yield userDoc.update
.
I know that this issue could happen because of different _rev
properties in original and updated documents after update.then()
, but redefining the value of _rev
in updated document does not help!
I also have found this solution for PouchDB
: https://github.com/pouchdb/pouchdb/issues/1691#issuecomment-38112213
Since I'm new in RxDB, please pinpoint what should I do regarding to RxDB document.update! Thanks in advance.
UPD: I tried to use atomicUpdate this way:
But data is not updated in the database. Perhaps, I'm doing it in the wrong way? How should I use atomicUpdate regarding to update method in the code above?
typescript - RxDB - 重新加载后找不到集合
尝试在我的 Angular 应用程序中从 RxDB 开始。想要一些简单的工作:
我的问题是,在应用程序重新加载时找不到创建的集合“语言”。代码总是执行 if 路径而不是我期望的 else 路径。
我在这里做错了什么?谢谢帮助!
rxdb - Rxdb 插件:在插件中使用 RxCollectionBase#insert 方法
我正在尝试为 rxdb 创建一个插件。我想捕获由引发的异常insert
并返回一个哈希
{[fieldName: string] => [error:string]}
但是,当使用我的新方法时,我遇到了一个异常,似乎该方法是直接在原型上而不是在每个RxColletion<T, T2, T3>
实例上调用的。
我得到的错误是:
因为this.schema
未定义..我在其上运行此方法的集合确实有一个模式..
这是我的插件代码:
gis - 如何在浏览器中索引geojson数据以存储在indexDB中(使用geojson-vt)
概述
我有一个相当有趣的需求,我需要从服务(不是矢量切片服务)加载 geojson 数据,然后缓存该数据以供离线使用(使用 indexDB)。因此,当离线运行应用程序时,我需要将 indexDB 中的数据加载到地图中(使用 mapbox-gl)。可以离线缓存的数据量(在 indexDB 中)可能非常大,因此我不能只将所有数据放入内存并将其添加到地图中(在这种情况下,mapbox 将使用 geojson-vt 在内部为我们处理一切)。
我意识到,如果源是一个矢量切片服务,这会使事情变得更容易,但不幸的是,目前这不是一个选择。
尝试的解决方案
我相信解决这个问题的方法是在我将数据存储在 indexDB 中时对其进行索引。我的想法是,我会计算出每个“特征”的每个 UTM 网格值,这样当地图移动时,我可以简单地查询相应网格中的特征并将它们加载到 mapbox 中。
示例索引数据库“表”:
有了上面的信息,我就可以查询 select * from index_db_features where utm_tiles in ('14_0_0', '14_0_1')
虽然这在理论上似乎可行,但我遇到的问题是找出给定功能涉及的所有图块。geojson -vt库似乎可以满足我的要求,只是它没有为您提供在其中找到功能的所有图块的实际列表 - 它执行相反的操作,您需要根据给定瓷砖。
有没有人有任何建议来找出给定功能所涉及的所有图块?或者对在 indexDB 中使用的 geojson 数据进行空间索引的更好建议?
node.js - 如何让这个全局变量在调用之间保持它的值?
我正在尝试减少在我的数据访问文件(文件database
内的变量tree-rxdb.mjs
)中初始化数据库对象的次数。我创建了一个全局变量来保存对数据库对象的引用,并检查它之前是否已初始化,如果已经初始化,我只是将变量返回给调用者而不再次初始化它。出于某种原因,database
每次调用此函数时它总是未定义,即使在我使用相同的代码成功写入数据库之后也是如此。奇怪的是,即使我相信我给予它相同的处理但显然得到不同的结果,dao
内部变量也不会发生同样的情况。tree.mjs
我只是在模拟这段代码,但由于某种原因,它不适用于database
里面的变量tree-rxdb.mjs
,我没看到什么?
树-rxdb.mjs
树.mjs
应用程序.mjs
node.js - RxDB/Electron 在 sqlite 中存储数据
我想使用 Ionic/Electron 构建一个混合体以在桌面、浏览器和 Android 上运行它,在做了一些研究后我发现 RxDB 的定义似乎适合这种 DB 用法(https://rxdb.info/)
我希望能够以类似 SQLite 的存储容量在本地存储数据,而不受 Web 浏览器存储容量的限制,并使用相同的 api (rxdb ?) 来操作桌面(电子)、移动设备和 Web 浏览器(离子)上的数据.
这可能使用 RxDB 吗?如果不是,我想知道是否有工具能够允许这样的功能?
javascript - RxDB 领导层阻止了 chrome 中的所有套接字
我使用waitForLeadership
只让一个选项卡同步数据库。它看起来像它的作品。但是,如果我激活此功能并打开 3 个以上的选项卡,则不会加载下一个选项卡。铬总是说,waiting for available socket...
有没有人有/有同样的问题?
我做错了什么?我必须手动启动同步过程吗?如果我在一个实例中插入,无论是否为主,它都是正确可见的。但似乎,多个实例试图打开一个套接字/长轮询。