问题标签 [realm-js]
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.
mongodb - 基于 ID(主键)创建关系,无需完整的 JSON 响应
我在离线的第一个 React Native 应用程序中使用 Realm JS (10.2.0),我们从 REST API 获取数据。有许多不同的实体,其中一些相互之间有关系。我们目前返回整个结构,包括 JSON 响应中的相关实体。这变得非常缓慢并且似乎效率低下。是否可以只返回关系的相关 ID(主键),因此 Realm 仍然可以建立关系而无需每次都需要完整的实体?我们已经通过单独的请求单独获取它们,因此它们存在于 Realm 数据库中。
一个简单的示例方案如下,其中“Shop”有多个“Contacts”。在这种情况下,联系人已经存在于 Realm 数据库中,因此在商店的 JSON 响应中,我只想返回与其相关的联系人的 ID。
Shop的创建目前是这样的:
react-native - 将数组对象添加到领域数据库中导致问题“错误:错误:数组必须包含所有对象属性的值”
下面列出了使用 RealmDB 的代码
学生模式如下图所示:
错误:数组必须包含所有对象属性的值,并且未插入数据。
对象大小目前是 15MB,那么用这种类型的对象在 Realm 中添加数据的方法是什么。
我需要在架构中更改的任何内容。
请推荐,谢谢
react-native - ios模拟器上的chrome调试器打破了领域
我已经使用npx react-native init AwesomeProject
(= 版本 0.64.1)建立了一个非常基本的 react-native 项目,然后我使用yarn add realm
. 此外,在我们运行的 ios 文件夹中pod install
。
接下来,我使用一个非常简单的 Car 模型创建了一个附加文件 realm.ts:
然后我在App.js
.
这很好用,您将true
在控制台中看到该行所期望的console.log(car.isValid());
另一方面,如果我们在 Chrome 模式下激活调试(全部在 iPhone 12 (iOS 14.5) 模拟器上完成),我们将收到错误消息:
TypeError: car.isValid is not a function
.
停止调试器,它会再次工作……这是怎么回事?
react-native - 如何修复“RealmObject 不能作为函数调用”realm-js 错误?
在使用 Realm-js 的 react-native 项目中,我刚刚创建了应用程序的克隆,集成了所有库,并复制了所有 src 目录。
该应用程序构建安装并在 Android 上运行。
当我通过身份验证流程(利用领域来存储身份验证数据)时,我最终得到一个错误:
[错误:RealmObject 不能作为函数调用]
登录功能:
我把问题缩小到Db.updateAuth(...)
更新认证:
检查架构,我发现没有 federatedToken 属性,但在 auth 更新对象中,有两个。不知道为什么它不会在原始的非克隆应用程序中引发错误。
授权架构:
Realm.js(类声明)-> https://pastebin.pl/view/c903b2e2
从领域实例化:
这会记录 1、2 和 3 语句。问题似乎来自“问题”行。我不确定这个错误到底意味着什么,因为领域的回购中似乎没有任何关于它的内容,并且在应用程序中克隆了它,这条线没有问题。我还可以看到其他行稍后在用户流中抛出类似的错误
有谁知道这是关于什么的?或者我可以在哪里了解更多信息?
反应原生:v64.2
realm-js:10.6.0(从 v10.2.0 克隆的应用程序)
MacOS:11.3(M1架构)
react-native - 有没有办法在领域中以正确的方式呈现 One2Many 关系?
我的移动应用程序中有一个非常简单的架构结构:
所以意味着每笔存款可以有零次、一次或几次付款(可以部分支付),但一次付款应该只分配给一笔存款
我将 Payment 对象放入 Realm 数据库,如下所示:
同时,当我尝试记录从领域数据库获取的付款对象时,看起来我没有分配给这笔付款的一笔存款,而是获得了一系列存款。(ofc 只有一个对象,但很烦人)
问题是:有没有办法连接这个模式来呈现 One2Many(不是 many2many)关系?
我想实现:
payment.deposit.uuid
而不是payment.deposit[0]?.uuid
感谢您的帮助
xcode - React 本机 xcodebuild 存档在 Fastlane 上失败,退出状态为 65 - RealmJS Pods
我正在尝试使用 fastlane 将我的 react 本机应用程序发布到应用商店自动化。使用 xcode 手动归档应用程序是成功的。但是,当我使用 Fastlane 时,构建应用程序步骤失败,退出状态为 65。
错误:无法加载文件列表的内容:'/Target Support Files/RealmJS/RealmJS-xcframeworks-input-files.xcfilelist'(在项目'Pods'的目标'RealmJS'中)
错误:无法加载文件列表的内容:'/Target Support Files/RealmJS/RealmJS-xcframeworks-output-files.xcfilelist'(在项目'Pods'的目标'RealmJS'中)
我尝试删除我的 Pods 文件夹 Podfile.lock 并重新安装 pod。但是,realmJS 的问题仍然存在。
XCode 版本:版本 13.0 (13A233)
反应原生: 0.65.1
领域-js: 10.8.0
快车道: 2.197.0
有人遇到过类似的问题吗?
realm - 为什么自定义用户数据只匹配字符串类型_id?
bsonType: objectId
我在 User 方案中将 User._id 设置为。但是当我使用这个https://docs.mongodb.com/realm-sdks/js/latest/Realm.App.html#logIn注册用户时。我没有得到customData
(https://docs.mongodb.com/realm-sdks/js/latest/Realm.User.html)。但是当我改为_id
字符串类型时。我开始得到customData
.
https://docs.mongodb.com/realm/users/enable-custom-user-data/#specify-the-user-id-field
自定义用户数据集合中的每个文档都应该有一个将其映射到特定应用程序用户的字段。该字段必须存在于每个映射到用户的文档中,并且包含用户 ID 作为字符串。
我的问题是:我在哪里可以更改检查匹配类型从string
to objectId
?如果我做不到。为什么开发人员使用string
类型进行匹配?因为对象 id 的字符串表示不是优化的解决方案。(ObjectID 和字符串版本的唯一区别是它更小?)
react-native - 为什么这个 Realm 写入函数会抛出“realm is already in a write transaction”错误?
在 react-native 应用程序中,使用 realm.js,以下函数抛出The realm is already in a write transaction
错误。
函数定义:
函数调用:
为什么会抛出这个错误?
react-native - MongoDB Realm:如何从嵌入对象列表中删除元素
我正在使用 MongoDB Realm 的 React-Native 版本。在我的数据模型中,我使用的是 list embedded objects。我的架构看起来像这样:
官方文档使用了一个非常相似的示例(类型包含Business
嵌入Address
对象的列表)。但是,文档并不清楚如何直接从列表中删除嵌入对象。根据文档中的示例,我使用以下代码直接删除特定列表项:
该实现原则上似乎可行,但我不安全,因为我直接删除了嵌入的对象。在文档示例中,Contact
对象被删除,这反过来又间接删除了嵌套Address
对象。
所以我的问题是:我的实现是正确的,还是我不应该直接删除嵌入的对象?
react-native - 如何以数组为值定义对象(或字典)属性的领域模式?
我有看起来像这样的数据
如何在realm
for中编写架构react native
?
我尝试使用类型字典(“{}”),但它给了我一个错误:
[错误:混合属性不能包含值数组。]
当我使用“混合”类型时,我得到了这个错误:
[错误:仅支持领域实例。]
我需要为此创建一个对象类型吗?如果是这样,当我不确定收藏夹中的键是什么时该怎么办?
这是我创建和编写实例的代码。
还是我应该改变我写入数据库的方式?谁能帮我这个?提前致谢。