Firestore在哪里获得谓词?

时间:2018-06-26 12:20:08

标签: javascript firebase google-cloud-firestore

我有一个firestore集合,其中每个文档都有一个字符串“标签”的集合,我想对firestore集合进行查询,并获取在标签数组中出现字符串的所有结果。

类似的东西:

 var { docs } = await admin
            .firestore()
            .collection('submissions')
            .where((x)=> x.tags.contains('mytag'))
            .get();

有可能吗?

1 个答案:

答案 0 :(得分:2)

您不能(但)查询数组包含特定值的项目。请参见Firestore documentation on working with arrays, lists, and sets,该指南建议您改为将标签建模为:

bean

然后使用以下命令进行查询:

tags: {
  mytag: true,
  myothertag: true
}

我还建议您阅读我对Firebase query if child of child contains a value的回答,其中包含另一个示例。对于Firebase实时数据库,此处使用相同的逻辑。

正在完成一些工作,以允许您在查询数组中的值。但还是像往常一样:没有保证何时发布,所以请注意release notes上的Firestore更新。