我知道这可能是Firestore: how to perform a query with inequality / not equals的副本,但我真的没有从这个问题得到答案。
Firestore不接受不等式运算符<div class="content s">
text1
</div>
<div class="content a">
text2
</div>
<div class="content b">
text3
</div>
。
假设我想查询uid不是我的任务。
查询我创建的任务很简单,因为我只需要使用!=
。
我有以下代码。
==
我似乎无法完成这项工作。任何建议将不胜感激。谢谢!
答案 0 :(得分:1)
Doug对这些问题的回答说,您需要使用两个单独的查询来获得结果:一个用于db.collection('tasks').where('owner', '>', `/users/${uid}`)
和db.collection('tasks').where('owner', '<', `/users/${uid}`)
一个。然后,您需要在客户端代码中合并结果。
所以:
const tasks = await db.collection('tasks')
.where('owner', '<', `/users/${uid}`)
.get()
let taskList = []
tasks.forEach((task) => {
taskList.push(task.data())
})
tasks = await db.collection('tasks')
.where('owner', '>', `/users/${uid}`)
.get()
tasks.forEach((task) => {
taskList.push(task.data())
})
dispatch({
type: 'FETCH_TASKS_FULFILLED',
payload: taskList
})