限制使用 Parse 的调用次数
Limit number of calls in using Parse
我正在构建我的第一个带有后端的应用程序。
一般信息
该应用允许用户上传地点、附加标签、图片等
Dbs
我使用 Realm 作为离线数据库,Parse.com 作为在线数据库。
例子
我正在构建数据库模型并尝试 link 所有多对多关系。一个例子:
一个地方有多个标签(短字符串),一个标签可以有多个地方。
为了构建这个,我用 realm 做了这个:
1.制作地点对象
2.对于每个给定的标签,制作一个标签对象并添加地点对象关系
3.获取place对象并添加tag对象关系
现在,当我有 place 对象时,我可以从一个地方获取所有标签。
我可以获得所有属于标签对象的地方。
我现在正在使用 Parse 构建在线版本,并意识到这种方法会导致很多调用。
可能的解决方案
- 不要将标记对象关系添加到地点关系(第 3 步)
相反,查询标签 class 与地点对象的关系。 (可能会很慢?)
- 有没有办法构建模型 'offline' 并将其作为一个整体推送?
由于我是这种逻辑的新手,所以我希望问题很清楚。
我理解它很宽泛,但我认为最好解释一下整个案例。
有多种方法可以在 Parse 中实现多对多关系。您可以根据相关对象的数量使用数组或关系。您可以在 Parse's documentation.
中阅读更多内容
在 Parse Relations 中,您可以在调用之前在一个关系中添加多个对象。让我以文档中的 Book 和 Author 示例为例,并根据您的情况进行调整。过程是:
- 创建 Place 对象
- 检查标签对象是否存在。如果没有就创建一个。
- 将标记对象与解析关系中的放置对象相关联
这是代码示例:
// let’s say we have a few objects representing Place tags
ParseObject tagOne=
ParseObject tagTwo =
ParseObject tagThree =
// now we create a place object or specify the one you want to update
ParseObject place= new ParseObject("Place");
// now let’s associate the tags with the place
// remember to create a "tags" relation on Place
ParseRelation<ParseObject> relation = place.getRelation("tags");
relation.add(tagOne);
relation.add(tagTwo);
relation.add(tagThree);
// now save the book object
book.saveInBackground();
编辑下方评论
如果你想找到所有带有给定标签的地方,你可以这样做:
ParseObject tag = ....
ParseQuery<ParseObject> query = ParseQuery.getQuery("Place");
query.whereEqualTo("tags",tag);
我正在构建我的第一个带有后端的应用程序。
一般信息
该应用允许用户上传地点、附加标签、图片等
Dbs
我使用 Realm 作为离线数据库,Parse.com 作为在线数据库。
例子
我正在构建数据库模型并尝试 link 所有多对多关系。一个例子: 一个地方有多个标签(短字符串),一个标签可以有多个地方。
为了构建这个,我用 realm 做了这个: 1.制作地点对象 2.对于每个给定的标签,制作一个标签对象并添加地点对象关系 3.获取place对象并添加tag对象关系
现在,当我有 place 对象时,我可以从一个地方获取所有标签。 我可以获得所有属于标签对象的地方。
我现在正在使用 Parse 构建在线版本,并意识到这种方法会导致很多调用。
可能的解决方案
- 不要将标记对象关系添加到地点关系(第 3 步) 相反,查询标签 class 与地点对象的关系。 (可能会很慢?)
- 有没有办法构建模型 'offline' 并将其作为一个整体推送?
由于我是这种逻辑的新手,所以我希望问题很清楚。 我理解它很宽泛,但我认为最好解释一下整个案例。
有多种方法可以在 Parse 中实现多对多关系。您可以根据相关对象的数量使用数组或关系。您可以在 Parse's documentation.
中阅读更多内容在 Parse Relations 中,您可以在调用之前在一个关系中添加多个对象。让我以文档中的 Book 和 Author 示例为例,并根据您的情况进行调整。过程是:
- 创建 Place 对象
- 检查标签对象是否存在。如果没有就创建一个。
- 将标记对象与解析关系中的放置对象相关联
这是代码示例:
// let’s say we have a few objects representing Place tags
ParseObject tagOne=
ParseObject tagTwo =
ParseObject tagThree =
// now we create a place object or specify the one you want to update
ParseObject place= new ParseObject("Place");
// now let’s associate the tags with the place
// remember to create a "tags" relation on Place
ParseRelation<ParseObject> relation = place.getRelation("tags");
relation.add(tagOne);
relation.add(tagTwo);
relation.add(tagThree);
// now save the book object
book.saveInBackground();
编辑下方评论
如果你想找到所有带有给定标签的地方,你可以这样做:
ParseObject tag = ....
ParseQuery<ParseObject> query = ParseQuery.getQuery("Place");
query.whereEqualTo("tags",tag);