在Firestore中忽略DocID

时间:2018-12-09 09:27:14

标签: javascript firebase google-cloud-firestore

我有一个简单的查询,可以在与帖子相关的帖子下向用户推荐。

await this.$fireStore.collection('posts')
.limit(6).where('tags', 'array-contains', this.post.tags[0]).get().then(querySnapshot => {

问题在于,它也可以读取帖子本身(因为它也包含标签),有没有办法查询没有特定DocID的帖子而又不会浪费Where ergo需要一个完整的新查询?

1 个答案:

答案 0 :(得分:1)

Firestore无法提供不相等查询(即不等于)的可能性,例如,参见以下SO帖子:Firestore: how to perform a query with inequality / not equals

我了解您最多希望获得6个“同级”帖子。您可以进行相同的查询,最多7个文档,并且在前端中,过滤结果:

通过遍历文档列表并将其ID与当前文档ID进行比较,您会遇到两种情况:

  1. 当前文档位于查询返回的7个文档中:将其从列表中删除
  2. 当前文档不在查询返回的7个文档之内:随机删除一个文档。