【发布时间】:2021-03-03 00:57:48
【问题描述】:
我试图了解 mongoDB 的每个元素是如何工作的,但我对如何处理脱机感到非常困惑。
我读到了:
Realm 的移动数据库是 CoreData 和 SQLite 的开源、对开发人员友好的替代方案。几分钟内开始,几小时内移植您的应用程序,并为您节省数周的工作时间。
然后是提到离线部分的部分:
专为离线使用而设计
这是否意味着 Realm 可以在移动应用中用作完全离线的数据库?
如果我理解正确,这个数据库的工作方式类似于我使用对象/文档存储数据的 Android Room。
因为当我转到“让我们开始”部分时,我被重定向到这里:
https://docs.mongodb.com/realm/get-started/introduction-mobile/
我在哪里读到这部分:
开始之前,您需要一个 MongoDB Atlas 帐户。您可以在 Atlas 入门文档中了解有关创建 Atlas 帐户的更多信息
所以我的第一个问题:为什么我需要 Atlas 帐户?我了解 Atlas 是在云中拥有一个 MongoDB 数据库。如果我想使用离线数据库,为什么需要这个?
我想本教程希望展示所有工具协同工作。所以也许这一步可以跳过。但是后来去 React Native 教程,我看到了这部分:
https://docs.mongodb.com/realm/tutorial/react-native/#std-label-react-native-tutorial
连接到您的 MongoDB 领域应用程序
要让应用与您的后端一起工作,您首先需要实例化 Realm 应用。 Realm 应用程序是 MongoDB Realm 后端的接口。导航到 getRealmApp.js 文件并完成 getRealmApp()
这部分代码似乎很重要:
// 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吗?这行得通吗?
这可能还是 Realm 真的不适合完全离线工作?
【问题讨论】:
标签: mongodb react-native realm