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数据库查询在您运行它们的位置下查询子项,但您在每个子项下查询的路径必须是固定/静态的。谢谢您的帮助,先生