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

在Parse中实现关系型连接查询的技术指南

8min

使用 Parse 的连接查询

介绍

在本指南中,您将执行 Parse 中的关系查询,模拟使用 NoSQL 数据库的 SQL JOIN 查询的行为。

先决条件

要完成本教程,您需要:

目标

以 SQL JOIN 查询的方式查询存储在 Back4App 上的关系数据。

1 - 理解 Parse.Query 类

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

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

JS


您可以在 Parse.Query 类的 官方文档中了解更多信息

2 - 在 Back4App 上保存一些数据

让我们创建两个示例类, TableATableB, 这将是我们在本指南中查询的目标。在 Parse JS 控制台中,可以直接运行 JavaScript 代码,使用 JS SDK 命令查询和更新您的应用程序数据库内容。从您的 JS 控制台运行下面的代码并在 Back4App 中插入数据。

以下是您的仪表板中 JS 控制台的样子:

Document image


继续创建以下内容的类:

JS


3 - 查询数据

现在您已经填充了类,我们可以在其中执行关系查询。让我们开始执行 INNER JOIN, 引入我们将在所有示例中使用的连接关系查询。此查询表示表 A 和表 B 之间两个组合查询的结果,返回所有通过特定条件相关的记录,使用 Parse.Query.matchesQuery 方法.

JS


INNER JOIN SQL 查询行为与我们通用的连接关系查询完全相同,因此我们需要在控制台中打印其结果。请记住,使用 Parse.Object,您可以使用 get 方法通过列名检索数据.

现在让我们执行一个 LEFT OUTER JOIN,获取所有在 TableA 中的记录,并在可用时显示 TableB 中的关系数据:

JS


右外连接RIGHT OUTER JOIN是左外连接的相反,获取来自TableB的记录。

MySQL


最后,我们有了完全外连接,这是左内连接和右内连接的组合:

MySQL


结论

在本指南的最后,您学习了如何使用 Parse 在 Back4App 上执行关系查询,并在 NoSQL 数据库中模拟最常见的 SQL JOIN 查询。