我有一个用户存储他们喜欢的用户的结构,并且在这个节点中重复了一些字段,如缺口,关卡和照片。
当用户修改他的昵称时,我想在用户喜欢的所有喜欢的节点中修改它,并且昵称也是。
[Structure of nodes in database] 1
{
"userProfile": {
"8459xIX2aQhbRAVvLjCKYrkygG53" : {
"email" : "4@4.es",
"fotoPerfil" : "",
"nick" : "nick4"
},
"ZQ65L8W54AW58FqNfXqknEW7O6T2" : {
"Favoritos" : {
"m43MatCb9bRQymSKYfWChaSpFPy2" : {
"id_favorito" : "m43MatCb9bRQymSKYfWChaSpFPy2",
"nick" : "nick22"
}
},
"email" : "1@1.es",
"fotoPerfil" : "",
"nick" : "nick11"
},
"m43MatCb9bRQymSKYfWChaSpFPy2" : {
"Favoritos" : {
"ZQ65L8W54AW58FqNfXqknEW7O6T2" : {
"id_favorito" : "ZQ65L8W54AW58FqNfXqknEW7O6T2",
"nick" : "nick11"
}
},
"email" : "2@2.es",
"fotoPerfil" : "",
"nick" : "nick23"
},
"toRFGF7CoKfb3UFcJYxOAXgeR9Z2" : {
"email" : "3@3.es",
"fotoPerfil" : "",
"nick" : "nick3"
}
}
}
我有以下代码,但这还不足以找到我感兴趣的节点。
updateNick_Favoritos(nick) {
debugger
var updates = {};
let ref = firebase.database().ref(`/userProfile/`);
var query = ref.child('Favoritos').orderByChild('id_favorito').equalTo(this.currentUser.uid);
query.once('value', function(snapshot) {
debugger
snapshot.forEach(favoritoSnapshot => {
updates['userProfile/' + key_desconocida + '/Favoritos/' + favoritoSnapshot.key + '/nick'] = nick;
console.log('key:'+favoritoSnapshot.key);
console.log('key:'+favoritoSnapshot.val());
return false;
})
ref.update(updates);
});
}
做我想要的正确查询是什么? 因为如果他们告诉我如何获得更新的未知路线的价值,我会非常感激。