问题标签 [mongodb-realm]

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.

0 投票
1 回答
67 浏览

mongodb - Mongo DB Change Streams - 有没有办法获取文档的关系数据?

我正在从 Legacy Realm 及其 Realm.Sync 侦听器迁移到 Change Streams,我试图弄清楚如何轻松获取更新时返回的完整对象。

有没有办法获取包含关系数据的完整文档?

例如fullDocument

而不是Senderid,我想获取发件人文档,在SeenBy.

0 投票
0 回答
131 浏览

mongodb-atlas - MongoDb领域同步忽略模式?

同步到移动设备时是否可以忽略 mongodb 领域架构?

我们尝试将所有类型指定为字符串,但即使这样,当它是“1234”时,某些值也会失败。抛出错误 不允许更新。

在这一点上,除非我们可以忽略模式,否则我们已经准备好跳船了。

0 投票
0 回答
47 浏览

mongodb - React Native 和 MongoDB 领域:找到:带键的对象 {$undefined}

我正在使用 React Native 和 MongoDB Realm,但出现以下错误:

found: object with keys {$undefined}

当我尝试像这样注册用户时会发生这种情况:

整个错误是:

0 投票
1 回答
611 浏览

ios - 仅为非高级用户禁用领域同步

我正在创建一个 iOS 应用程序,我打算在其中为高级用户提供跨设备功能的数据同步。我发现Realm Sync是一个很好的解决方案,可以让本地设备上的数据库和云 MongoDB Atlas 保持同步。但是,我不想将非高级用户的数据同步到云数据库。

我正在寻找几种我能想到的方法来防止非高级用户触发 Realm Sync,但我不确定解决这个问题的最佳方法是什么。

  • 通过利用同步权限来防止同步- 我可以存储高级用户 ID 列表,并且只向这些用户授予同步权限。

  • 在客户端配置领域对象,即如果用户是高级用户,则只允许所有领域对象/模型。

我正在寻找解决此问题的见解/推荐方法。

编辑

我还有一些关于以不同方式处理两个用例的其他问题 - 非高级一个通过仅打开本地Realm()和高级一个使用Realm.asyncOpen().

  1. 当现有用户切换到高级订阅时如何处理用例?应该打电话Realm.asyncOpen()就够了还是我需要做任何特殊处理?
  2. 我计划User为所有用户(高级 + 非高级)同步我的所有(集合中的自定义文档)记录。我的猜测是我应该为我的所有内容打开一个普通的领域,并[User.self]在配置中只使用对象同步领域。
0 投票
1 回答
563 浏览

ios - 在 MongoDB Realm Sync 中建模子集合

我是 MongoDB 以及 MongoDB Realm Sync 的新手。我正在关注Realm Sync 教程Realm 数据模型文档,但我想了解更多信息,因此我调整了 Atlas 集合结构,如下所示。

我不知道如何提出可以支持 Atlas 子集合的 Realm Sync Schema。我想出的最好的是一个模式,其中Tasks 被建模为Project. 但是,我担心对于有很多任务的项目来说,这可能会达到 16MB(虽然很多!)的文档限制。

期待如何以正确的方式对子集合进行建模。

编辑

这是我的客户端领域模型。

就 CRUD 操作而言,我只创建一个新项目并读取现有项目如下。

0 投票
0 回答
303 浏览

mongodb - 对活动 MongoDB 领域同步的模式更改

我是 MongoDB 领域的新手,因此正在尝试它。从我所看到的情况来看,如果不终止并重新启动 Realm Sync 进程,我就无法从 Realm UI 修改 Realm Schema(在开发模式下除外!)。

我担心的是,当需要更改领域同步模式(或者说添加了新集合!)时,执行生产部署的理想方式是什么?

我正在阅读有关Terminating & Re-enable Sync的文档,但它没有提到在部署新更改时需要重新启动同步;因此,我假设我缺少一些信息/最佳实践。

0 投票
0 回答
27 浏览

realm - MongoDB Realm - 阻止数据泄漏

我正处于设置 MongoDB Realm 与 Schemas 同步的阶段,但我有一个关于数据泄露的问题。我的模式如下所示:

我希望用户登录并接收他们的用户数据,其中包括他们所属的组。如何定义同步规则(或其他方式?)以阻止任何人对我的应用程序代码进行逆向工程并更改分区(组 ID)并访问其他组?

0 投票
0 回答
43 浏览

react-native - 使用 React Native SDK 访问 MongoDB Realm 应用用户的 Provider 数据

我在我的 React Native 应用程序上访问 MongoDB Realm 用户的数据(全名、自定义 ID 等)时遇到问题。

我知道我可以为每个 Realm 用户设置自定义数据,但如果我用来登录用户(自定义 JWT)的提供者已经提供了这些数据,我不明白为什么需要这样做。

有什么方法可以在我的 React Native Realm 应用程序上访问用户的 Provider 数据?

0 投票
1 回答
126 浏览

javascript - Task Tracker Tutorial TypeError: null is not an object (evalating 'projectRealm.write')

我已经按照 MongoDB Realm 的 Task Tracker 教程进行操作。该应用程序正在 ios 模拟器上加载。登录后,我导航到 MyProject 的任务页面。我点击+号。弹出创建新任务按钮。我输入新任务名称并单击创建按钮。它不会创建新任务。相反,我在模拟器上收到以下错误 - 异常 null 不是对象(评估“projectRealm.write”)。此外,它显示了 TasksProvider.js 上的代码片段,但它是教程中的确切代码,我可以看不出有什么问题。

这是我的 IDE 中的相关代码:(模拟器上的错误指向这一行

projectRealm.write(() => {

这是更大的代码片段:

我的终端看起来像这样:

[2021 年 3 月 18 日星期四 11:43:04.126] 捆绑包 ./index.js

[2021 年 3 月 18 日星期四 11:43:53.819] 使用 {"rootTag":1,"initialProps":{}} 运行“rn”的日志

[2021 年 3 月 18 日星期四 11:51:29.277] 错误类型错误:null 不是对象(评估“projectRealm.write”)

如果可以的话请帮忙。我是编码新手,我已经坚持了好几天了。我已经搜索过 SO 和 Git 等。感谢您阅读本文!

0 投票
1 回答
122 浏览

mongodb - MongoDB Realm - 有没有办法在分区之间共享文档以避免重复?

有没有办法在分区之间共享文档以避免重复?

如果我有枚举数据Message Status(已发送、发送、失败、无法投递等),我必须为每个分区制作一份副本,而不是让所有分区共享相同的状态。

为清楚起见的示例:
用户A有权访问分区1,用户B有权访问分区2。为了让用户A能够访问枚举数据,它需要与 partition key 一起存在1。与用户相同B,他需要一份带有分区键的枚举文档的副本2,因为他无法访问带有分区的现有文档1。所以数据最终会被复制。