我正在尝试像这样进行“输入”查询:db.collection('units')。where('SuperID','in',有效负载)
SuperID:是一个数字
有效载荷:是与SuperID匹配的数字数组
我正在这样做,因此我可以根据这样的文档对用户进行分组
Vuex商店
getgs: firestoreAction(({ bindFirestoreRef, payload }) => {
//return the promise returned by 'bindFirestoreRef'
return bindFirestoreRef('gs', db.collection('units').where('SuperID', 'in', payload))
}),
方法
methods: {
...mapActions(['getgs']),
ggs(payload){
console.log(payload)
this.getgs(payload)
}
}
每当我尝试调用它时,它都会记录所需的数组,但随后会说该数组未定义并引发Firebase错误。
答案 0 :(得分:1)
好的,我想我这次找到了答案。
使用docs中的示例:
actions: {
checkout ({ commit, state }, products) {
// save the items currently in the cart
const savedCartItems = [...state.cart.added]
// send out checkout request, and optimistically
// clear the cart
commit(types.CHECKOUT_REQUEST)
// the shop API accepts a success callback and a failure callback
shop.buyProducts(
products,
// handle success
() => commit(types.CHECKOUT_SUCCESS),
// handle failure
() => commit(types.CHECKOUT_FAILURE, savedCartItems)
)
}
}
看起来您的动作定义应该是
getgs: firestoreAction(({ bindFirestoreRef }, payload) => {
//return the promise returned by 'bindFirestoreRef'
return bindFirestoreRef('gs', db.collection('units').where('SuperID', 'in', payload))
}),
有效负载位于上下文对象之外。