问题描述
我正在尝试了解MongoDB的每个元素是如何工作的,但是我真的很困惑脱机是如何处理的。
我读到这个:
然后这部分提到脱机部分:
这是否意味着领域可以用作移动应用中的完全脱机数据库?
如果我理解正确,此数据库的工作方式将类似于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");
这篇关于完全脱机工作的领域(从不在线)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!