Firebase搜索数据库按数组包含对象

时间:2018-12-16 20:11:26

标签: javascript firebase ecmascript-6 google-cloud-firestore

我正在尝试使用数组包含过滤当前用户的所有数据,是否可以使用通配符或类似(1 || 2 || 3 || 4 ...)之类的东西?

数据:

  

[{{c:7,i:2},{c:10,i:2},{c:2,i:1},{c:3,i:2}]

当前的c(类)在此搜索中没有关系:

.where('admins', 'array-contains', {c: *, i: 1} )

谢谢!

1 个答案:

答案 0 :(得分:1)

任何Firestore查询都没有形式的通配符匹配。所有匹配值都必须准确。您应该对数据进行结构化以适合您希望执行的查询。在这里的示例中,您应该有一个专用于(x + y) * (x + y + 1)) // 2 + y值的专用字段,并查询该字段以查找数组中__hash__((x,y))具有特定值的文档。