Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Parse.com/backbone.js建模友谊关系_Backbone.js_Parse Platform - Fatal编程技术网

使用Parse.com/backbone.js建模友谊关系

使用Parse.com/backbone.js建模友谊关系,backbone.js,parse-platform,Backbone.js,Parse Platform,我正在尝试使用Parse.com javascript API(基本上是主干模型)为友谊建模。我正在使用内置的Parse.com用户类。我有一个mySQL/关系数据库模型的背景,发现将我的想法转变为非sql/非规范化的方式很棘手 它应该支持标准的facebook风格的方法: -用户a可以请求用户b的友谊 -用户b可以接受或忽略友谊请求 对于给定的用户,我希望能够获取他们朋友的集合(双向接受的友谊) 我一直在考虑使用友谊模型,并将用户模型作为发起人和接受者: initiator | accepto

我正在尝试使用Parse.com javascript API(基本上是主干模型)为友谊建模。我正在使用内置的Parse.com用户类。我有一个mySQL/关系数据库模型的背景,发现将我的想法转变为非sql/非规范化的方式很棘手

它应该支持标准的facebook风格的方法: -用户a可以请求用户b的友谊 -用户b可以接受或忽略友谊请求

对于给定的用户,我希望能够获取他们朋友的集合(双向接受的友谊)

我一直在考虑使用友谊模型,并将用户模型作为发起人和接受者:

initiator | acceptor | status
==========+==========+========
user a    | user b   | accepted
user b    | user c   | 
user c    | user a   | accepted
我不确定这是否是最好的方法,也不确定是否使用ACL保护它。我担心友谊中的两个用户都需要能够更新行,以便删除友谊。此外,用户b不应该能够向解析API发出会泄露其他用户友谊的请求

要查询用户a的朋友,我将执行两个查询,一个查询用户a是接收者的位置,另一个查询发起者的位置

如果这是一种可以接受的建模方法,或者如果不是,为什么不提出改进建议,请有人对此进行评论。 谢谢

2012年8月8日更新: 我在这里看到一个问题: 如果我在Friendships类中的每一行上设置了ACL,以便发起人可以写入该行,并且该行是公开可读的,那么接受者将无法将该行更新为status=accepted

一段友谊可以被模拟成表格中的两行吗? 例如:


不知道我将如何查询,以获得一个给定用户的朋友然而

我决定用Parse CloudCode实现这一点,以简化数据安全性,并锁定对Friend类的所有客户端写访问

我有三个云代码函数
friendRequest
friendDelete
friendAccept
。这些函数使用主密钥进行操作,以便在friend类上执行所有写入操作。读取ACL被添加到友谊中两个用户的每一行中,因此您只能查看自己的友谊

initiator | acceptor | status
==========+==========+========
user a    | user b   | requested
user b    | user a   | accepted