【发布时间】:2018-09-14 18:30:29
【问题描述】:
我设法通过查询userId 来获取所有文档:
this.orderListRef = firebase.database().ref(`/orderList`);
this.orderListRef.orderByChild('userId').equalTo(`${this.currentUser.uid}`)
但我在通过查询子键获取所有文档时遇到问题 restId 在order 数组中,我确实尝试了以下代码,但它只返回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 键中,例如:
-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"}
提前谢谢你!
编辑 1:
在 Frank van Puffelen 建议创建 restaurant 作为 orderList > ID 的子项的方法后,我发现这是个好主意,我尝试了,但仍然没有运气。
我尝试了以下查询,但每个人仍然返回null:
this.orderListRef.orderByChild('restaurant').equalTo('rest001').once('value', snap => {
console.log(snap.val())
})
this.orderListRef.child('restaurant/rest001').once('value', snap => {
console.log(snap.val())
})
this.orderListRef.child('restaurant').equalTo('rest001').once('value', snap => {
console.log(snap.val())
})
this.orderListRef.child('restaurant').orderByChild('rest001').once('value', snap => {
console.log(snap.val())
})
感谢您的回复!
【问题讨论】:
标签: angular typescript firebase firebase-realtime-database