Google cloud firestore 如何将添加到Firestore购物车的物品数量限制为一个?

Google cloud firestore 如何将添加到Firestore购物车的物品数量限制为一个?,google-cloud-firestore,react-redux,e-commerce,Google Cloud Firestore,React Redux,E Commerce,我正在建设一个房地产网站。由于不可能在同一时刻多次购买某个属性,因此我需要限制用户将该属性添加到购物车的次数。从图中可以看出,我一直在努力瞄准firestore中的propertyID 此外,在操作或减速机中,这种逻辑应该放在哪里?我在操作中尝试了Firestore.where(),还尝试了将逻辑放入减速机 您好,您能分享一下您已经尝试过的代码的结果吗?例如,您是否遇到任何错误,或者上面代码的结果是什么? const propertyReducer = (state = initStat

我正在建设一个房地产网站。由于不可能在同一时刻多次购买某个属性,因此我需要限制用户将该属性添加到购物车的次数。从图中可以看出,我一直在努力瞄准firestore中的propertyID

此外,在操作或减速机中,这种逻辑应该放在哪里?我在操作中尝试了Firestore.where(),还尝试了将逻辑放入减速机


您好,您能分享一下您已经尝试过的代码的结果吗?例如,您是否遇到任何错误,或者上面代码的结果是什么?
   const propertyReducer = (state = initState, action, { cart }) => {
  switch (action.type) {
    case "ADD_TO_CART": //ListingDetail
      console.log("property cart added", action.payload);
      console.log(state);

  const index = cart.findIndex((item) => item.propertyID === action.id);
  
  if (index >= 0) {
    state.error = "This property is alread in your cart";
  }

  return {
    ...state,
  };

case "ADD_TO_CART_ERROR":
  console.log("CART_ADDED_ERROR", action.err);
  let error = state.error;

  return {
    ...state,
    error,
  };

case "REMOVE_FROM_CART": //ListingCheckout
  console.log("REMOVE_FROM_CART", action.payload);

  return {
    ...state,
  };