firebase - Firebase/Firestore:是否可以查询 .where(x == foo || x == bar)?
问题描述
我有一组用户,如下所示:
每个关注者/后续文档的结构如下:
{
uid: ...,
}
我想创建一个满足这些条件的查询:
- 获取您关注的用户
- 按他们的“最后发布”时间排序(因此您首先获得最近发布的用户)
由于follower/following子集合只包含对完整用户文档的引用,而不是完整文档本身,所以它不像查询下面的子集合那么容易。
这是我尝试过的:
database
.collection('users')
.doc(myUid)
.collection('following')
.get()
.then(followings => {
database
.collection('users')
.orderBy('lastPosted', 'desc')
.where('uid', '==', following[0] || following[1] ...)
})
这是行不通的。我也想过这个:
database
.collection('users')
.orderBy('lastPosted', 'desc')
.where(myUid exists in their followers subcollection)
我不确定从这里去哪里,或者 Firestore 是否允许这样做。
解决方案
看:
逻辑或查询。在这种情况下,您应该为每个 OR 条件创建一个单独的查询,并在您的应用程序中合并查询结果。
推荐阅读
- node.js - 当我单击按钮时,机器人再次返回相同的欢迎消息
- security - 如何在数据库中安全地存储访问密钥/私钥
- openstack - 由于网络分配失败,opnestack 实例构建失败
- email - 尝试让电子邮件脚本与 Google 表单一起使用
- javascript - ; [HPM] 尝试代理请求时出错
- python - 如何使用 Python 和 BeautifulSoup 或 Pandas 从 Finviz.com 刮取 Top Gainers 和 Top Losers 的表格行?
- forms - Symfony 4 - 未单击时未请求复选框(通过 js 广告原型添加)
- python - Pandas 根据列表项重复行
- python - 在 django admin 中的 pre_save 上获取文件 mime 类型
- javascript - 以反应形式的角度处理选择标签的 onSelect 数据的最佳方法是什么