用于提取嵌套数据的 Firebase 查询

Firebase query for extracting nested data

我想从此数据结构中提取数据,其中 user_id_2 == 2。 为此,我正在编写以下语法:

var myDataRef1 = new Firebase('https://*****.firebaseio.com/mails/1/mail');
myDataRef1.orderByChild("user_id_2").equalTo(2).on('child_added', function(snapshot) {
        var mails = snapshot.val();
        alert(mails.body.subject);
        displayChatMessage(mails.body.subject, mails.body.message);
    });

没有路径/mails/1/mail,因为在真正的JSON中,在1mail之间有一个push id。

改为尝试

var myDataRef1 = new Firebase('https://bbz-workstation.firebaseio.com/mails/1');
var query = myDataRef1.orderByChild('mail/user_id_2').equalTo(2)...

您需要这样的索引:

{
  "rules": {
    "mails: {
      "1": {
        "$pushid": {
          ".indexOn": ["mail/user_id_2"]
        }
      }
    }
  }
}