Я хочу создать реферальную систему с nodejs и mon goose, и мне нужна помощь с запросами mongodb
объект пользователя:
{
email: String,
referredBy: ObjectId,
points: Int,
_id: ObjectId
}
Первый запрос: каждый раз, когда пользователь набирает баллы, я хочу добавить баллы к его основному рефералу, а затем к этому рефералу пользователя и так же с этим пользователем, эта система имеет 3 уровня рефералов
Второй запрос: получить всех привлеченных пользователей на который ссылается пользователь (это было бы просто, это был всего лишь один уровень (выполнение
this.user.find({referredBy: userId}))
)
, но мне нужно получить все 3 уровня, сначала всех пользователей, на которых ссылался пользователь, и то же самое с этими пользователями и то же самое с этими пользователями
также с этим вторым запросом, можно ли добавить какое-либо поле на каждый уровень?
как все упомянутые пользователи первого уровня, чтобы иметь 'level': 'first', чтобы позже я мог различать guish их