Firestore - 如何执行“where in”查询?

时间:2017-11-09 07:30:54

标签: google-cloud-firestore

在聊天应用中,我有一个订阅频道的用户对象(例如,每个用户在其文档中包含频道ID列表):

User
   Channels
      ID 1
      ID 7

我希望能够根据用户频道列表(伪代码)订阅频道:

channelsCollection.documentsWhereIn("id",[1,7]).addSnapshotListener...

我找不到实际实现这一目标的任何方法,因此我能够提出的唯一解决方案是维护频道列表中的订阅用户

Channel
   Users
      UserId1:True
      UserId7:True
      ...

然后订阅

channelsCollection.whereEqualTo("users.id",myId).addSnapshotListener...

缺点是我觉得维护频道文档有点脆弱,最后它是一个javascript对象,很容易被一些错误覆盖。我正在寻找更精细的解决方案。

我正在考虑子集合,但在这里看到我还无法根据它们进行查询。

我认为这还没有得到回答,因为:

What's the best way to get data from collections nested in documents in Firestore? - 不提供仅提取与用户相关的频道/聊天的解决方案

Firestore query subcollections - 提到我无法根据子集合进行查询

0 个答案:

没有答案
相关问题