firebase查询-查找Map值位于数组中的文档

bxjv4tth  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(79)

我试图找到一个文档的id,其中一个map数组中的map值等于“x”。
在下面的例子中,我试图找出哪个销售代表拥有代码为“hog”的原因
我很可能会沿着反规范化的路线走下去,但这可能吗?

dgsult0t

dgsult0t1#

Firestore有一个array-contains运算符,可以用来查询数组字段中是否存在某个项,但该运算符只有在指定了字段的精确、完整值时才有效,它不能测试部分匹配。
您的用例的常见方法是添加一个额外的数组字段,其中只包含您要查询的值,即

cause-codes: ["hog"]

使用此附加字段修改文档后,可以使用如下查询:

repsRef.where('cause-codes:', 'array-contains', 'hof')

相关问题