Firestore(数组包含任何内容)查询运算符

时间:2020-08-15 13:18:15

标签: google-cloud-firestore

我是Firestore的新手。我很困惑,这段代码的输出是什么。

collection ("products").where (
    "category" ,
    "array-contains-any" , ["Appliances" , "Electronics"]
)

您只需编写文档名称即可。 (前文件1,文件3) 文档以图片显示。

Products document image

For more information visit this page

2 个答案:

答案 0 :(得分:0)

很简单! 让我们考虑一下这个场景,其中所有值都是字符串。

enter image description here

array-contains-any

参数:(字符串,'array-contains-any',数组)

collection("products").where( "category" , "array-contains-any" , ["Appliances" , "Electronics"])

这将向我们提供文档,结果是categoryAppliances {br> 结果:[[烤面包机],[婴儿监视器],[蓝光播放器]]

包含数组

参数:(字符串,“数组包含”,字符串)

Electronics

这将为我们提供文档,结果是collection("products").where( "category" , "array-contains" , "Appliances") category
结果:['Toaster','Baby Monitor']

因此,这意味着当您要搜索多个项目时,我们 可以使用 array-contains-any ,或者如果您想使用单个项目 出现在数组中,那么我们可以使用 array-contains

答案 1 :(得分:0)

查询将打印在category字段中具有任何值[“ Appliances”,“ Electronics”]的任何文档。

因此查询将检索文档:

  • Toaster,因为它在Appliances中有一个category值。
  • Baby Monitor,因为它在Appliances中同时具有Electronicscategory
  • Blu-ray Player,因为它在Electronics中有一个category值。

查询将不会返回Lipstick,因为该文档的Appliances字段中既没有Electronics也没有category