我想从Firestore中的另一张地图中获取地图数据,有什么办法吗?
我希望能够一次提取ListBoxItem
和price
数据而不必一一调用。通过像代码中一样指定确切的目录,我设法只提取了其中一个数据:
如果有人可以帮助我解决这个问题,那就太好了,我对此非常陌生:”) 谢谢!
答案 0 :(得分:0)
无法在Firestore中过滤嵌套地图。您可以获取所有数据并在客户端对其进行过滤,也可以在Firestore中重塑数据收集架构。例如,您可以将计划转换为地图数组:
plan [
{desc: "things", price: 24}
]
,然后在firestore中使用“包含数组”查询:
db.collection("cafes")
.where("plans", "array-contains", {desc: "things", price: 12})
.get()
.then((snapshot) => {
snapshot.docs.forEach((doc) => {
console.log(doc.data());
});
});
但是,您将需要将整个对象作为参数传递,以使数组包含的内容起作用。