【发布时间】:2017-08-04 22:35:58
【问题描述】:
我已经与 Firebase 合作了一段时间,并且喜欢他们关于保持数据非规范化的建议。我唯一的问题是找出跨多个集合查询的最佳方法。例如,我有一个 Identity 对象,其中包含有关我的用户的信息:
identities: {
$identity: {
name: string,
studio: $studioID
}}
对应一个 Studio 对象:
studios: {
$studio: {
name: string,
owner: $identityID,
location: $locationID
}}
此对象引用所有者及其位置。位置对象引用了 Classes,Classes 不断地引用 Student....。现在,为了获取引用的对象,我正在做这样的事情:
Auth.loginUser(email, password, (success) => {
const identityRef = firebase.database().ref('/identity');
identityRef.child(success.uid).on("value", function(identitySnapshot) {
const identity = identitySnapshot.val();
const studioRef = firebase.database().ref('/studios');
dispatch({type: 'UPDATE_IDENTITY', identity})
studioRef.child(identity.studioID).on("value", function(studioSnapshot) {
const studio = studioSnapshot.val();
dispatch({type: 'UPDATE_STUDIO', studio});
})}); });
我会继续嵌套对 Location、Classes、Student 等的调用。有更好的方法吗?
【问题讨论】:
标签: javascript firebase firebase-realtime-database nosql