本文介绍了完全脱机工作的领域(从不在线)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试了解MongoDB的每个元素是如何工作的,但是我真的很困惑脱机是如何处理的。

转到:https://realm.io/

我读到这个:

然后这部分提到脱机部分:

这是否意味着领域可以用作移动应用中的完全脱机数据库?

如果我理解正确,此数据库的工作方式将类似于Android Room,在Android Room中,我使用对象/文档存储数据。

因为当我转到"让我们开始&q;"部分时,我会被重定向到此处:

https://docs.mongodb.com/realm/get-started/introduction-mobile/

阅读本部分的位置:

所以我的第一个问题:我为什么需要Atlas帐户?我知道Atlas将在云中有一个MongoDB数据库。如果我要使用脱机数据库,为什么需要此数据库?

我猜本教程想要展示所有工具协同工作。所以也许这一步可以跳过。然后转到Reaction Native教程,我看到这一部分:

https://docs.mongodb.com/realm/tutorial/react-native/#std-label-react-native-tutorial

这部分代码似乎非常重要:

// Returns the shared instance of the Realm app.
export function getRealmApp() {
  if (app === undefined) {
    const appId = "<your Realm app ID here>"; // Set Realm app ID here.
    const appConfig = {
      id: appId,
      timeout: 10000,
      app: {
        name: "default",
        version: "0",
      },
    };
    app = new Realm.App(appConfig);
  }
  return app;
}

代码强制我指明我在领域控制台中获得的AppID。

所以我的第二个问题:如何使此部件脱机?我应该直接跳过APPID吗?这行得通吗?

这是否可能,或者领域是否真的不适合完全脱机工作?

推荐答案

I'm really confused about how the offline is handled.

领域是离线的第一个数据库,所有数据都存储在本地文件中,如果您使用的是MongoDB领域同步,则稍后再将数据同步到服务器

当然。如前所述,数据存储在文件中。

脱机使用不需要Atlas帐户。您需要设置一个帐户才能访问MongoDB领域控制台并配置领域应用以进行同步

您问题中的代码在您使用MongoDB领域同步时使用。脱机使用不需要。

脱机使用时不需要该代码。

它非常适合仅脱机工作,如果您想过渡到联机模式,它也非常适合脱机工作。

如果您只想脱机使用领域,请参阅文档Open a Local (Non-Synced) Realm,其中显示了

const config = {
   schema: [schemas.TaskSchema, schemas.UserSchema, schemas.ProjectSchema],
   path: "./myrealm/data"
};
const realm = await Realm.open(config);

一旦有了领域变量,您就可以在本地使用领域:

// Query realm for all instances of the "Task" type.
const tasks = realm.objects("Task");

这篇关于完全脱机工作的领域(从不在线)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-19 05:42