javascript - 忽略 Firestore 中的 DocID

标签 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,需要一个完整的新查询?

最佳答案

Firestore 不提供查询不等式(即不等于)的可能性,请参阅此 SO 帖子:Firestore: how to perform a query with inequality / not equals

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

通过循环文档列表并将其 Id 与当前文档 Id 进行比较,您将遇到两种情况:

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

关于javascript - 忽略 Firestore 中的 DocID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53690939/

相关文章:

javascript - ReactJS Firebase 托管和 Google Search Console

javascript - 重定向到另一个页面后 authData 为 null

flutter - 使用手机进行身份验证时如何修复 'user unauthenticated' firebase 存储

google-cloud-firestore - 如何处理 Firestore 安全规则中的 FieldValue.delete()?

javascript - JQuery 多类选择器在 IE6 中失败

javascript - Angular JS CSS 双向更新

php - 如何从 DOM 中删除无效元素?

swift - 如何从 firebase 下载多个图像?

android - Firestore : Totally disable cache for read and write

javascript - 使用 Typeahead.js 和 JSON 键值更新隐藏的输入字段