【发布时间】:2019-08-28 11:10:34
【问题描述】:
在 Cloud Firestore 中,我需要使用 array-contains 查询在包含地图的数组中查找匹配项。
我可以很容易地匹配直接的字符串、数字等,但是当数组的值是一个映射时它总是会失败。文档没有提到这是否可能。
这里是一些数据的例子
{
data:
[
item_1: {...},
item_2: {...}
]
}
这是一个查询示例
db.collection("list")
.where("data", "array-contains", "item_1")
.get()
.then(collectionRef => {
//do something with collection
})
我希望数组包含与地图的最高值 (item_x) 匹配,但目前它与此不匹配。我认为这是因为它想将地图的全部内容匹配为数组项的“值”。
任何帮助将不胜感激。如果这是不可能的,我可能不得不重新考虑我的数据结构。对于上下文,我在云函数中使用它在更新原始文档时更新数组中的项目(它们是对文档的引用)。
【问题讨论】:
标签: javascript firebase google-cloud-firestore