Firebase和Angular 2如何获得具有读取限制的子级计数
我有一份带有链接预订的客户文档,按照谷歌的建议创建:Firebase和Angular 2如何获得具有读取限制的子级计数,angular,firebase,angularfire2,Angular,Firebase,Angularfire2,我有一份带有链接预订的客户文档,按照谷歌的建议创建: clients: { clientkey1: { name: Some Name, reservations: { reskey1: true, reskey2: true } } } 和预订文件: reservations: { reskey1: { clientKey: clientkey1,
clients: {
clientkey1: {
name: Some Name,
reservations: {
reskey1: true,
reskey2: true
}
}
}
和预订文件:
reservations: {
reskey1: {
clientKey: clientkey1,
doctorName: Doctor Name
},
reskey2: {
clientKey: clientkey1,
doctorName: Doctor Name
},
reskey3: {
clientKey: clientkey2,
doctorName: Doctor Name
},
reskey4: {
clientKey: clientkey3,
doctorName: Doctor Name
},
reskey5: {
clientKey: empty
}
}
现在,在客户的应用程序中,我必须列出他的预订,并计算所有预订,以了解他占用的部分以及还有多少地方可用等信息。我可以下载所有预订并使用clientKey进行筛选,但如何避免下载整个数据和其他客户的预订数据
有没有办法只从预订处下载钥匙?没有,但是
exports.countReservations = functions.database.ref('/reservations/{id}').onWrite(event => {
const collectionRef = event.data.ref.parent;
const countRef = collectionRef.parent.child('reservationCount');
return countRef.transaction(current => {
if (event.data.exists() && !event.data.previous.exists()) {
return (current || 0) + 1;
} else if (!event.data.exists() && event.data.previous.exists()) {
return (current || 0) - 1;
}
});
});