代码之家  ›  专栏  ›  技术社区  ›  Sam

按数组名称查询FireStore

  •  0
  • Sam  · 技术社区  · 6 年前

    我在FireStore中的数据是(收藏)电影->(文档)movieid->(数组)。

    每个电影文档可以有许多数组,这些数组以日期格式mm-dd-yyyy命名。我的问题是,是否有任何方法可以按这些数组的名称查询它们?考虑到名称是当前日期。

    例如,如果我想运行一个云函数,它将提供所有电影中的今天的日期数组?

    像下面这样…

    var moviesRef = db.collection('movies');
    var query = moviesRef.where("01-16-2019", "==", "01-16-2019");
    

    这个 01-16-2019 是我的数组名。

    enter image description here

    提前谢谢

    1 回复  |  直到 6 年前
        1
  •  2
  •   Doug Stevenson    6 年前

    您不能这样做,因为您的数据是结构化的。数组类型字段只能按其全部内容查询是否相等(整个列表到整个列表比较),或按数组中单个元素的确切值查询,方法是使用 array-contains .

    您也不能仅根据字段的存在来查询文档。

    如果要按某个日期查询这些文档,则需要将这些日期添加为数组成员或对象的字段(其值映射到类似“true”)。