我设法通过查询userId
:
this.orderListRef = firebase.database().ref(`/orderList`);
this.orderListRef.orderByChild('userId').equalTo(`${this.currentUser.uid}`)
但是我通过查询restId
数组中的子键 order
来获取所有文档时出现问题,我确实尝试了以下代码,但它只返回{{1 }}:
null
和
this.orderListRef.orderByChild('order/restId').equalTo('-L6vQHDBv9WugS_yTibn').on('value', snap => {
console.log(snap.val())
})
请帮助..我希望仅在this.orderListRef.child('order').orderByChild('restId').equalTo('-L6vQHDBv9WugS_yTibn').on('value', snap => {
console.log(snap.val())
})
密钥中返回包含"-L6vQHDBv9WugS_yTibn"
的内容,例如:
restId
提前谢谢!
已编辑1:
在Frank van Puffelen提出创建-L9IZKHkueFppGMJY3Z9: {deliveryAddress: "Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia", dtcreate: 1522894198149, order: Array(2), userId: "AeMgnwHy3Hav3FE9DyTMJVdp4QX2", userOrderNumber: "pGMJY3Z9"}
-L9I_DcXgx_fjsmsn2rm: {deliveryAddress: "Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia", dtcreate: 1522894433661, order: Array(2), userId: "AeMgnwHy3Hav3FE9DyTMJVdp4QX2", userOrderNumber: "jsmsn2rm"}
-L9IksHXG4WZo0ejfmk1: {deliveryAddress: "Kuala Lumpur, Federal Territory of Kuala Lumpur, Malaysia", dtcreate: 1522897487221, order: Array(2), userId: "AeMgnwHy3Hav3FE9DyTMJVdp4QX2", userOrderNumber: "o0ejfmk1"}
作为orderList>的子项的方法之后身份证,我发现这是个好主意,我试过,但仍然没有运气。
我尝试了以下查询,但每个人仍然返回restaurant
:
null
感谢您的回复!
答案 0 :(得分:0)
没有字段order/restId
。 是字段order/0/restId
和order/1/restId
,但由于这不是固定路径,因此您无法对其进行查询。
您当前的数据结构适合查找给定订单的餐馆ID。它不适合查找给定餐馆ID的订单。为此,您应该扩展数据结构以获得反转数据:
restaurants
restaurantId1
order1: true
order3: true
restaurantId2
order2: true
现在,您可以在/restaurants/$restaurantId
下查找给定餐厅的订单。
有关详情,请参阅: