React Native
...
Parse SDK (REST)
Data objects

在 React Native 中使用 Parse 进行关系查询的技术实现

9min

使用 Parse 在 React Native 中进行关系查询

介绍

在本指南中,您将执行 Parse 中的关系查询,并使用这些查询实现一个 React Native 组件。您将学习如何使用 Back4App 和 React Native 设置和查询真实数据。

先决条件

要完成本教程,您需要:

  • 一个创建并连接到 Back4App 的 React Native 应用程序。
  • 如果您想测试/使用本指南提供的屏幕布局,您应该设置react-native-paper

目标

从 React Native 应用程序查询存储在 Back4App 上的关系数据。

1 - 理解 Parse.Query 类

任何 Parse 查询操作都使用 Parse.Query 对象类型,这将帮助您在整个应用程序中从数据库中检索特定数据。重要的是要知道 Parse.Query 只有在调用检索方法(如 Parse.Query.findParse.Query.first)后才会解析,因此可以设置查询并在实际调用之前链接多个修饰符。

要创建一个新的 Parse.Query,您需要将所需的 Parse.Object 子类作为参数传递,这将包含您的查询结果。下面可以看到一个示例查询,其中查询了一个虚构的 Book 子类。

JS


您可以在官方文档中阅读更多关于 Parse.Query 类的内容,在这里查看官方文档

2 - 在 Back4App 上保存一些数据

让我们创建一组类,这些类将是本指南中查询的目标。这些类是: 作者, 书籍, 出版商书店, 在其中 书籍出版商 之间有 1:N 关系,和 作者 之间有 N:N 关系,书店书籍 之间有 N:N 关系。

在 Parse JS 控制台中,可以直接运行 JavaScript 代码,使用 JS SDK 命令查询和更新您的应用程序数据库内容。从您的 JS 控制台运行下面的代码并将数据插入 Back4App。以下是您仪表板中 JS 控制台的样子:

Document image


继续创建具有以下示例内容的类:

JS


3 - 查询数据

现在您已经填充了所有类,我们可以在其中执行一些关系查询。让我们开始通过出版商过滤 书籍 结果,搜索属于 “出版社 “金合欢出版”(或“出版社 A”)的书籍,使用基本的 Parse.Query.equalTo 方法:

JS


现在让我们查询哪些 书店 对象包含 书籍 对象,出版日期晚于 2010 年 1 月 1 日,使用内查询和 Parse.Query.greaterThan 方法,然后使用 Parse.Query.matchesQuery 方法:

JS


现在让我们创建一个更复杂的关系查询,寻找 书店 对象,这些对象至少有一本由 书籍 编写的 作者 “Aaron Writer”(或 “AuthorA”),使用 equalTomatchesQuery 方法:

JS


4 - 从 React Native 组件查询

现在让我们在 React Native 中的一个组件内使用我们的示例查询,界面简单,包含一个显示结果的列表和用于调用查询的按钮。这就是组件代码的布局,注意 doQuery 函数,包含之前的示例代码。

JavaScript
TypeScript


这是组件在渲染后以及通过其中一个查询函数查询时的样子:

Document image


结论

在本指南的最后,您了解了如何在Parse上进行关系查询,以及如何从React Native应用程序中在Back4App上执行这些查询。在下一个指南中,您将学习如何在Parse中处理用户.