编程语言
首页 > 编程语言> > 解析Javascript – 如何按关系对象的属性进行查询

解析Javascript – 如何按关系对象的属性进行查询

作者:互联网

我想知道是否有一种方法可以通过关系对象的属性直接查询对象?

这可能听起来令人困惑,例如:

每个用户都有很多安装,我有从每个安装到用户的指针,形成多对一的关系.

我想找到属于具有给定用户名的一个用户的所有安装.

类似用例:查找属于姓氏为“James”的用户的所有安装.但在这种情况下,有许多用户而不是一个用户.

我当前的解决方案是,查询用给定条件查找用户,然后为每个用户执行query.equalTo(“user”,fetchedUser)的安装查询.这只是感觉非常麻烦和昂贵.

另一种解决方案是“展平”对象并在查询目标对象上放置尽可能多的属性.所以我们可以使用query.find一次.对于我们的示例:在安装时放置用户名和姓氏的副本.但是如果我们最终不使用用户对象,那么数据就不那么关系了;如果我们选择保留用户对象,则在更新用户(母对象)时需要进行安装(子对象)的复杂同步,反之亦然.

有更好,更清洁的方法吗?

谢谢!

解决方法:

是的,有一种更清洁的方式.几个月前我遇到了这个问题.

在这种一对多关系的场景中,您可以选择两种方法:RELATION或ARRAY对象.

如果您使用RELATION,作为优势,您对关系中的项目几乎没有限制.但是,作为一个缺点,您需要查询关系以获取信息,从而导致您提到的方法,包含许多查询.

如果您使用ARRAY对象,作为优势,您可以在查询中包含此字段,这样您只需一个查询就可以使所有子项都可用.但是,作为一个缺点,您将限制为100名儿童.

当我们谈论用户及其安装时,我认为对象的ARRAY是这种情况的最佳方法.

标签:javascript,parse-platform,parse-javascript-sdk,cloud-code
来源: https://codeday.me/bug/20190711/1432603.html