Я структурирую firebase для системы кодов купонов.Я пытаюсь добиться того, чтобы пользователь не мог использовать купон больше указанного лимита.Я сохранил couponUsage, по которому каждый купон будет иметь ограничение на использование.
Моя древовидная структура:
Inthis, «2019», «fortune», «happy» - это кодовые имена купонов, а «9999999999» - номер мобильного телефона пользователя (UID пользователя).И значение - это номер времени, в течение которого код используется пользователем для этого конкретного кода купона.
Итак, что я сделал, когда пользователь использует код, он становится новой записью.под этим кодом.И когда пользователь повторно использует код, значение будет изменяться от 1 до 2 и выше, пока предел не будет указан в другом дереве.
Вот мой код:
export const fetchCouponCode = () => {
return (dispatch) => {
firebase.database().ref('couponCodes').once('value', function(couponSnap){
firebase.database().ref('couponUsages').once('value', function(usageSnap){
console.log( extend({}, couponSnap.val(), usageSnap.val()));
})
})
};
};
Я использую избыточность, так что это мой файл действий.В этом я могу получить весь узел couponUsages.Но мне нужно выбрать только номера мобильных телефонов для каждого ребенка, например, в этом коде три купона, и у каждого есть пользователь с именем 9999999999. Поэтому мне нужно выбрать только этого пользователя из всех трех купонов.
Как этого добиться?Потому что, когда пользовательская база начинает расти, было бы неправильно иметь целые данные и фильтровать определенные данные и т. Д.