我需要类似的东西,但我没有得到正确的连接和推动。事实上,我想避免多次查询,每个“palabras [i]”。如果我只能去数据库一次,那将是非常好的:
function ($scope, $rootScope, $stateParams, $firebaseArray) {
var arrayRta = new Array();
var palabras = $rootScope.textAreaOfrecer.toLowerCase().split(' ');
for (i = 0; i < palabras.length; i++) {
var elementosConI = firebase.database().ref().child("solCompras").orderByChild("palabras/" + palabras[i]).equalTo(true);
arrayRta.push(elementosConI);
}
$scope.solicitudes = arrayRta;//$firebaseArray(arrayRta);
}
{
"solCompras" : {
"-KdTUecpbUuWJO_Fbj5Y" : {
"palabras" : {
"123" : true,
"444" : true,
"123123" : true
},
"post" : "123 123123 444",
"user" : "demo"
},
"-KdTcRy_P0rjEpnHwHCC" : {
"palabras" : {
"123" : true
},
"post" : "123",
"user" : "demo"
},
答案 0 :(得分:0)
如果您要将单词添加到数据库的列表中,只需为每个单词调用firebase.database().ref().child("solCompras").push(palabras[i])
即可。
这将与在一次调用中添加它们一样快,因为请求是通过同一连接进行流水线操作的。见Speed up fetching posts for my social network app by using query instead of observing a single event repeatedly