我使用Parse作爲我的後端,並使用Stripe作爲我的付款API。不幸的是,條紋沒有我需要的優惠券功能,所以我在Parse上自己實現。如何使用其中一個值對數組解析指針進行排序
我有一個Coupons對象,每個用戶擁有一個用戶已兌換的所有Coupon對象的數組。當他們通過我的應用程序請求服務時,我希望它從該陣列中彈出最高價值的優惠券。
我目前的解決方案效率非常低,而且不是動態的,對於三個價值券中的每一個都有獨立的數組,我檢查每個數組以查看它是否爲空,然後移動到下一個或彈出一個優惠券對象。
我想最大限度地減少這個請求的數量,使它擴展得更好一些。
我必須獲取Coupons對象,所以我的第一個想法是以某種方式在該提取中包含優惠券數組,類似於查詢的include()方法。不過,我並沒有看到這個功能。當我輸入這個時,我記得你可以使用query.find()來獲取一個特定的對象,所以我將嘗試去做,而不是設置objectId和調用fetch,並使用.include()方法。這是否對我的優惠券數組的每個對象使用額外的請求,還是使用一個查詢請求?我可以.include()一個屬性是一個指針數組嗎?如果我這樣做,我只需遍歷優惠券,找出哪一個具有最大的價值,並從陣列中刪除。
另一個想法是在添加優惠券的時候保持數組的排序,所以我總是能夠彈出第一個優惠券並只取出該優惠券,而不是遍歷所有優惠券。但是,這將要求我在添加優惠券時獲取數組中的所有優惠券,因此如果在查詢中包含數組不會使用額外的請求,那麼就請求使用而言,它實際上將是更高效的選項。
我的第三個想法是我正在研究涉及基於優惠券數組執行查詢並按值鍵以降序排序。但是,我不確定如何設置該查詢。它會是query.containedIn("objectId", couponArray)
,其中couponArray
是指向Coupon對象的指針數組,而query
是Coupon對象的查詢?然後我可以使用query.first()
來獲取對象,我相信查詢只會使用一個請求。
如果你有一些建議,我會非常感激。我也對此類問題是否違反政策表示歉意,因爲我正在就如何開始實施某些事情徵求意見,而不是就如何解決我正在實施的問題提供建議。
感謝您的閱讀,
傑克
介意我DM嗎?我有幾件事我想問一下,我想給我一些關於我的實現的信息,以確保我能夠正確設置它,並且在沒有低字符限制的情況下會更容易。我會更新我的問題和你的答案以及任何相關的後代信息。 –
當然,很樂意提供幫助 – Russell