点号使用指南
许多编程语言中都可以通过点号(.)访问对象的属性。
TDS 的数据存储 SDK 和 REST API 也支持类似的功能。
善用点号常常可以让代码看上去更简短,降低网络通讯的开销。
在查询对象时使用点号
AVObject / LCObject 字段允许的类型包括对象(Object),如果我们想要根据对象的属性发起查询,那么可以使用 字段名.属性名 的格式进行查询。
例如,假设有一个 Member 类,其 occupation 字段的结构如下:
{
"profession": string;
"remark": string;
// ... 其他属性
}
那么我们可以像这样查询职业为「Other」(其他)的成员:
query.equalTo("occupation.profession", "Other")
注意,如果需要频繁查询 occupation.profession,可以考虑双写一个 occupation_profession 字段,然后为该字段添加索引,以加速查询。
在获取对象时,我们可以通过 select 指定需要返回的属性。
当指定的属性的类型是对象时,我们可以在 select 条件中使用点号,指定只获取该属性的某个属性。
例如,假设包含 query.select(["occupation"]) 语句的某个查询返回如下对象:
{
"occupation": {
"profession": "Other",
"remark": "Feng Shui Consultant"
},
// objectId、createdAt、updatedAt
}
那么包含 query.select(["occupation.profession"]) 语句的相应查询将返回如下对象:
{
"occupation": {
"profession": "Other"
},
// objectId、createdAt、updatedAt
}