查询firestore对象数组

时间:2018-05-30 15:03:27

标签: firebase google-cloud-firestore

我有firestore集合 事件

每个 事件 都有 日期 ,这是包含两个字符串的对象数组, startTime endTime

enter image description here

是否有可能重新检索列出一个 startTime 事件 ,这比当前时间更长?

2 个答案:

答案 0 :(得分:4)

您的文档结构无法做到这一点。您无法在查询中定位数组元素。相反,您可能希望将max startTime存储为文档中的顶级字段,而是在查询中使用该字段。

复制这样的数据以适合您的查询很常见。对于NoSQL数据库,数据结构应始终遵循您打算进行的查询。

答案 1 :(得分:3)

您可以通过使用“ array-contains”查询firebase来获取整个文档,但是您必须搜索对象的确切属性和对象本身。您的情况是“ endTime”和“ startTime”。

firebase.firestore.collection('events').where("date", "array-contains", {endTime: "March 18 ....", startTime: "March 19 ...."})