问题描述
我创建了一个API,在其中我将获得需要订购的字段,例如
在第一个查询[{label: 'BookingId',value: 'bookingId},{label: 'status',value: 'status}]
在第二个查询中,我将得到这样的[{label: 'userId',value: 'userId}
]
我试图在Firestore引用中动态添加orderBy
orderByValues = [
{label: 'BookingId',value: 'status}
] // it will be coming from client side
const query = firestore.collection("collectionNAme")
orderByValues.forEach(order => {
query.orderBy(order.value)
})
await query.get()
但是上面没有带来orderBy结果
如何处理?
解决方法
由于orderBy()
方法返回了Query
,因此您需要为每个新添加的query
重新分配orderBy
,如下所示:
let query = firestore.collection("collectionNAme")
orderByValues.forEach(order => {
query = query.orderBy(order.value)
})
await query.get()