如何将 Firebase 快照数据设置为 sessionStorage 中的数组
How to set Firebase snapshot data into array in sessionStorage
var db1 = firebase.firestore();//API firestore database
var docRef1 = db1.collection("SuccessTransaction");
var showSeat = docRef1.get().then(function(snapshot){
snapshot.forEach(function(doc){
if(doc.exists){
alert(doc.data().Seat);
sessionStorage.setItem("routeUnavailableSeat", JSON.stringify(doc.data().Seat));
}else{
alert("No such documet!");
}
});
}).catch(function(error){
alert("Error getting document!", error);
});
我遇到了这种情况。我的意图是设置我的快照值并将其设置到 sessionStorage 中。问题出在系统运行之后,会替换旧数据,替换新数据。如何使用数组或其他方法将我的所有数据保存在 sessionStorage 中?
本地存储API(会话存储所基于的)只能存储字符串值。因此,要将您的值存储为数组,您需要将数组编码为字符串。
除此之外,这是获取当前值、解析它然后将其添加回会话存储的问题:
if(doc.exists){
let value = sessionStorage.getItem("routeUnavailableSeat");
let seats = current ? JSON.parse(current) : [];
seats.push(doc.data().Seat)
sessionStorage.setItem("routeUnavailableSeat", seats);
}
var db1 = firebase.firestore();//API firestore database
var docRef1 = db1.collection("SuccessTransaction");
var showSeat = docRef1.get().then(function(snapshot){
snapshot.forEach(function(doc){
if(doc.exists){
alert(doc.data().Seat);
sessionStorage.setItem("routeUnavailableSeat", JSON.stringify(doc.data().Seat));
}else{
alert("No such documet!");
}
});
}).catch(function(error){
alert("Error getting document!", error);
});
我遇到了这种情况。我的意图是设置我的快照值并将其设置到 sessionStorage 中。问题出在系统运行之后,会替换旧数据,替换新数据。如何使用数组或其他方法将我的所有数据保存在 sessionStorage 中?
本地存储API(会话存储所基于的)只能存储字符串值。因此,要将您的值存储为数组,您需要将数组编码为字符串。
除此之外,这是获取当前值、解析它然后将其添加回会话存储的问题:
if(doc.exists){
let value = sessionStorage.getItem("routeUnavailableSeat");
let seats = current ? JSON.parse(current) : [];
seats.push(doc.data().Seat)
sessionStorage.setItem("routeUnavailableSeat", seats);
}