您的文档结构无法实现此操作。无法在查询中针对数组元素进行定位。相反,您可能希望将最大的startTime作为文档级别字段存储,并在查询中使用该字段。
像这样复制数据以适应查询是很常见的。使用NoSQL数据库时,您的数据结构应始终遵循您打算执行的查询。
使用 "array-contains" 查询 Firebase 可以获取整个文档,但必须搜索对象的准确属性和准确对象本身。在您的情况下是 "endTime" 和 "startTime"。
firebase.firestore.collection('events').where("date", "array-contains", {endTime: "March 18 ....", startTime: "March 19 ...."})