Parse js sdk,你如何在文档数据库中查询多对多?

Parse js sdk, How do you query many to many in document DB?

在 Parse js 指南中说:

For example, a User may have many Posts that she might like. In this case, you can store the set of Posts that a User likes using relation. In order to add a Post to the “likes” list of the User, you can do:

var user = Parse.User.current(); var relation = user.relation("likes"); relation.add(post); user.save();

我的用例实际上就是这个确切的设置。我们有用户,他们可以 "like" 0-many Posts,所以我完全按照上面的说明进行设置。我现在的问题是,对于给定的 Post 或一组 Post,我需要查询有多少用户喜欢每个 Post。我无法弄清楚如何查询...有人可以帮我吗?我不确定这是否是一个限制,或者我是否只是不够了解以解决这个问题。我考虑过在 Post 本身上存储一个计数器,并在每次用户喜欢或不喜欢 Post 时使用 increment() 和 decrement(),但如果我能逃脱,我宁愿不这样做有了它。

有几种方法可以做到这一点。一种方法是在每个 post 上也与 likedBy 建立关系,因此当用户喜欢 post 时,您将该用户添加到 post 的 likedBy 关系以及添加 post 用户的 likes 关系。

另一个解决方案是为 Like 创建一个新的 Parse class。每当用户喜欢 post 时,您都会创建一个新的 Like,并带有指向 Post 和喜欢它的 User 的指针。那么如果你想找到一个用户喜欢的posts,你可以很容易地查询它,或者如果你想知道哪些用户喜欢一个post,那查询也一样简单。

我个人使用第二种方法,但两种方法都行得通