Firebase - Angular - 多个子句

时间:2017-02-22 03:23:49

标签: angularjs firebase ionic-framework firebase-realtime-database angularfire

我需要类似的东西,但我没有得到正确的连接和推动。事实上,我想避免多次查询,每个“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"
    },

1 个答案:

答案 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