【发布时间】:2017-12-07 07:29:22
【问题描述】:
我有一个场景,我有 firebase json db,其中我有一个代理的 json 对象。在这里,如果我删除最后一个左子节点,那么表(节点)代理也会被删除。
我如何限制该代理(父节点)不会被删除,即使我删除了最后一个留在其中的子节点,或者,我如何在删除最后一个左节点后重新创建父节点(代理)子节点?
下面是我通过代码所做的:
FriendlyChat.prototype.signOut = function () {
var userdetails = this.auth.currentUser;
this.database.ref('agents').child(userdetails.displayName).remove();
this.auth.signOut();
};
FriendlyChat.prototype.onAuthStateChanged = function (user) {
if (user) { // User is signed in!
// Get profile pic and user's name from the Firebase user object.
//console.log(user);
var profilePicUrl = user.photoURL;
var userEmail = user.email;
var userName = user.displayName;
this.agentsRef = this.database.ref('agents');
var loginTime = Math.floor(new Date().getTime() / 1000);
this.agentsRef.child(userName).set({
emailId: userEmail,
login_time: loginTime,
name: userName
})
} else { // User is signed out!
// Hide user's profile and sign-out button.
// Something happens
}
};
Firebase 数据库:
{
"agents" : {
"test test" : {
"emailId" : "testrbcdemo@gmail.com",
"login_time" : 7686887,
"name" : "test test"
}
},
"engagedUsers" : {
"qwe" : {
"agent_availability" : true,
"conv_id" : "testrbcdemo_qwe",
"emailId" : "qwe@gmail.com",
"login_time" : 66565656,
"name" : "qwe",
"uid" : "adasfklsfjdskldgsgjgjkl"
}
},
}
【问题讨论】:
标签: javascript json firebase firebase-realtime-database