Tom*_*mCB 8 database android many-to-many realm
我正在用后端构建我的第一个应用程序.
基本信息
该应用程序允许用户上传地点,附加标签,图片等.
DBS
我使用Realm作为离线Db&Parse.com作为在线Db.
例
我正在构建数据库模型并尝试链接所有多对多关系.一个例子:一个地方有很多标签(短字符串),一个标签可以有很多地方.
为了构建这个,我用realm做了这个:1.创建place对象2.对于每个给定的标记,创建一个标记对象并添加place对象关系3.获取place对象并添加标记对象关系
现在,当我有place对象时,我可以从一个地方获取所有标签.我可以获得属于标签对象的所有位置.
我正在使用Parse构建在线版本,并意识到这种方法将导致许多调用.
可能解决方案
由于我是这种逻辑的新手,我希望这个问题很明确.我知道它很广泛,但我认为最好解释一下这个案例.
在 Parse 中实现多对多关系的方法有多种。您可以根据相关对象的数量使用数组或关系。您可以在Parse 的文档中阅读更多内容。
\n\n在解析关系中,您可以在调用之前在关系中添加多个对象。让我以文档中的 Book 和 Author 为例,并根据您的情况进行调整。其过程是:
\n\n这是代码示例:
\n\n// let\xe2\x80\x99s say we have a few objects representing Place tags\nParseObject tagOne=\nParseObject tagTwo =\nParseObject tagThree =\n\n// now we create a place object or specify the one you want to update\nParseObject place= new ParseObject("Place");\n\n// now let\xe2\x80\x99s associate the tags with the place\n// remember to create a "tags" relation on Place\nParseRelation<ParseObject> relation = place.getRelation("tags");\nrelation.add(tagOne);\nrelation.add(tagTwo);\nrelation.add(tagThree);\n\n// now save the book object\nbook.saveInBackground();\nRun Code Online (Sandbox Code Playgroud)\n\n编辑如下评论
\n\n如果您想查找具有给定标签的所有地点,您可以这样做:
\n\nParseObject tag = ....\nParseQuery<ParseObject> query = ParseQuery.getQuery("Place");\nquery.whereEqualTo("tags",tag);\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
167 次 |
| 最近记录: |