我正在玩firebase functions,但有一个问题。我的Firebase DB的结构如下:
myDb
|
Users
|
000001
|
Name: Sam
|
Items: [1,2,3]
|
000002
|
Name: Jim
|
Items: [3,4,5]
我想做的是过滤在 Items 值内具有 3 的所有用户。我没有在他们的文档中找到类似于this SO post的用于过滤数据的内容。也许是因为这不是一个简单的值。我不知道。我现在想知道如何执行此特定过滤。
答案 0 :(得分:0)
数组包含过滤器在Firebase实时数据库中是不可能的,但这是Firestore的新增功能。
firebase.firestore().collection('users').where('items', 'array-contains', 3)
在Firebase实时数据库中,您希望将它们构造为可以查询的对象
{
name: "Jim",
items: {
1: true,
2: true,
3: true
}
}
然后查询将是这样
firebase.database().ref('users').orderByChild('items/3').equalTo(true);