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

React Native应用中的Parse.Query详解与示例

20min

在 React Native 中解析查询食谱

介绍

我们已经看到如何使用 Parse.Query 来从 Back4App 检索单个 get。还有许多其他方法可以使用 Parse.ObjectParse.Query 检索数据 - 您可以一次检索多个对象,对您希望检索的对象使用条件等等。

在本指南中,您将深入了解 Parse.Query 类,并查看您可以用来构建查询的所有方法。您将使用一个简单的数据库类和一些模拟数据,通过 Back4App 的 Javascript 控制台执行查询。

先决条件

要完成本教程,您需要:

目标

探索 Parse.Query 类的不同方法。

Parse.Query 类

在 Parse 上的任何查询操作都使用 Parse.Query 对象类型,这将帮助您在整个应用程序中从 Back4App 中检索特定数据。要创建一个新的 Parse.Query, 您需要将所需的 Parse.Object 子类作为参数传递,这个子类将包含您的查询结果。

重要的是要知道 Parse.Query 只有在调用检索方法(如 Parse.Query.findParse.Query.get)后才会解析,因此可以设置查询并在实际调用之前链接多个修饰符。

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

在 Back4App 上使用 JS 控制台

在您的 Back4App 应用程序的仪表板中,您会找到一个非常有用的 API 控制台,您可以直接在其中运行 JavaScript 代码。在本指南中,您将使用它来存储和查询来自 Back4App 的数据对象。在您的应用程序主仪表板中,转到 Core->API Console->JS Console.

Document image


保存您的数据对象

要在本指南上运行查询,您首先需要为您的应用填充一些数据。让我们创建一个名为 Profile 的示例类,它模拟一个社交媒体个人资料类,使用名人姓名和以下字段:

  • 字符串类型姓名:
  • 日期类型生日:
  • 数字(整数)类型好友数量:
  • 数组(字符串数组)类型最爱食物:
  • 数组(数字数组)类型幸运数字:
  • 地理点类型登录位置:
  • 可空指针类型高级会员, 与一个包含字符串的 会员 类相关,包含字符串 姓名 和日期 到期日期字段。

这里是 Parse.Object 类的创建代码,所以请在您的 API 控制台中运行它:

JS


运行此代码后,您现在应该在数据库中拥有一个 Profile 类,并创建了六个对象。您的新类应如下所示:

Document image


现在让我们来看一下每个 Parse.Query 方法的示例,并简要解释它们的功能。请注意,此列表中的某些方法可以将 options 作为附加参数,但在大多数情况下,它仅与 masterKey 的使用相关,与本指南内容无关,因此在不相关的情况下将省略此可能性。

查询检索器

这些方法负责运行查询并检索其结果,始终存在于您的查询实现中。

cancel
count
distinct
find
findAll
first
get


查询条件

这些方法使您能够对查询应用条件约束,这可以说是查询中最重要的操作。请记住,这些操作都可以在检索结果之前进行链式调用,因此可以实现许多组合来满足您的查询需求。

_addCondition
_regexStartWith
containedBy
containedIn

contains
containsAll
containsAllStartingWith
doesNotExist

doesNotMatchKeyInQuery
doesNotMatchQuery
endsWith
equalTo

exists
fullText
greaterThan
greaterThanOrEqualTo

lessThan
lessThanOrEqualTo
matches
matchesKeyInQuery

matchesQuery
notEqualTo
startsWith


查询排序

在大多数查询中至关重要,排序可以在 Parse 中轻松实现,甚至可以在两个或多个排序约束之间链接。

addAscending
addDescending
ascending
descending
sortByTextScore


字段选择

这些方法影响查询结果中可以包含哪些字段值。

exclude
include
includeAll
select


地理点查询

这些是特定于地理点查询的方法。

near
polygonContains
withinGeoBox
withinKilometers

withinMiles
withinPolygon
withinRadians


分页

这些方法与分页工具相关,适用于将检索大量结果的查询。

limit
skip
withCount


响应处理

这些方法是处理查询响应的助手,使得可以排队回调,这些回调将在查询解决后被调用。它们也充当查询解析器,像是 查找第一个.

each
eachBatch
filter
map
reduce


复合查询

这些方法将创建复合查询,可以结合多个 Parse.Query 实例以实现更复杂的结果。

_andQuery
_norQuery
_orQuery
and
nor
or


数据库相关

这些方法与数据库的偏好和操作有关。

aggregate
explain
readPreference


本地数据存储

这些方法使您能够选择查询的来源并使用本地数据存储.

fromLocalDatastore
fromNetwork
fromPin
fromPinWithName


JSON 细节

允许将查询表示为 JSON 并检索的方法.

toJSON
withJSON


结论

在本指南的最后,您学习了如何在 Parse 中执行每种数据查询方法。在下一个指南中,您将学习在 React Native 中进行复杂的 Parse 查询.