Angularjs 按子数组的firebase查询

Angularjs 按子数组的firebase查询,angularjs,firebase,ionic-framework,firebase-realtime-database,angularfire,Angularjs,Firebase,Ionic Framework,Firebase Realtime Database,Angularfire,我有这个文档结构 { "parking" : { "-Kace9LLJBuhG1RBWsy2" : { "address" : "avenida", "company_name" : "Company", "hours" : 40, "owner" : "Fmex7wiYAsbxNFhDy39X1r28J9L2", "receipts" : [ { "id" : "-KbB-0Wxxx_

我有这个文档结构

{
  "parking" : {
    "-Kace9LLJBuhG1RBWsy2" : {
      "address" : "avenida",
      "company_name" : "Company",
      "hours" : 40,
      "owner" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
      "receipts" : [
         {
          "id" : "-KbB-0Wxxx_vsCxy",
          "date" : "3/01/2017",
          "user_id" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
          "value" : 50
        },
        {
          "id" : "-KbB-0Wzzzz_vsCy",
          "date" : "3/30/2017",
          "user_id" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
          "value" : 50
        }
      ],
      "social_name" : "Company",
      "value" : "50"
    },
我可以用收据的id取一个停车场吗? 示例:仅当用户ID位于receipts数组内时,我想向用户显示一个停车场

或者,您是否希望对firebase执行此操作,而我必须创建一个引用而不是子文档

编辑

我试过这样的方法:

var refParkingByUser = firebase.database().ref('parking').orderByChild('receipts').equalTo(Auth.$getAuth().uid);

但是我如何访问收据元素呢?

正如Frank提到的,你不能用你的数据来访问。如果您添加了另一个如下所示的节点:

{
    "recieptParkingLots": {
        "-KbB-0Wxxx_vsCxy": {
            "-Kace9LLJBuhG1RBWsy2": true
        },
        "-KbB-0Wzzzz_vsCy": {
            "-Kace9LLJBuhG1RBWsy2": true
        }
    }
}
你可以很容易地找到哪个停车场的收据是附加的

如果每个停车场只能有一张收据,我会将其存储在停车场节点外:

{
    "parking" : {
        "-Kace9LLJBuhG1RBWsy2" : {
            "address" : "avenida",
            "company_name" : "Company",
            "hours" : 40,
            "owner" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
            "receipts" : {
                "-KbB-0Wxxx_vsCxy" : true,
                "-KbB-0Wzzzz_vsCy" : true
            }
            "social_name" : "Company",
            "value" : "50"
        },
    }
    "receipts" : {
        "-KbB-0Wxxx_vsCxy" : {
            "parking" : "-Kace9LLJBuhG1RBWsy2",
            "date" : "3/01/2017",
            "user_id" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
            "value" : 50
        },
        "-KbB-0Wzzzz_vsCy" : {
            "parking" : "-Kace9LLJBuhG1RBWsy2",
            "date" : "3/30/2017",
            "user_id" : "Fmex7wiYAsbxNFhDy39X1r28J9L2",
            "value" : 50
        }
    }
}

然后你可以很容易地查找停车场,然后去拿收据

没有。该查询不可能:Firebase数据库查询在您运行它们的位置下查询子项,但您在每个子项下查询的路径必须是固定/静态的。谢谢您的帮助,先生