// Скрипт для выдачи рефералов и билетов по username // Использование: // var username = "USERNAME"; // load('backend/scripts/giveReferrals.mongosh.js') // ============================================ // ВАРИАНТ 1: УКАЗАТЬ USERNAME В СКРИПТЕ // ============================================ var username = "ЗАМЕНИТЕ_НА_USERNAME"; var user = db.users.findOne({ username: username }); if (!user) { print("❌ Пользователь с username '" + username + "' не найден!"); } else { print("👤 Пользователь: " + user.username + " (ID: " + user._id + ")"); print(" Текущий счетчик рефералов: " + (user.referralsCount || 0)); print(" Текущие билеты: " + (user.tickets || 0)); // Увеличить счетчик рефералов на 2 var newReferralsCount = (user.referralsCount || 0) + 2; // Увеличить билеты: 100 билетов за каждого реферала (2 реферала = 200 билетов) var newTickets = (user.tickets || 0) + (2 * 100); var result = db.users.updateOne( { _id: user._id }, { $set: { referralsCount: newReferralsCount, tickets: newTickets } } ); if (result.modifiedCount > 0) { print("\n✅ УСПЕШНО!"); print(" Рефералы: " + (user.referralsCount || 0) + " -> " + newReferralsCount); print(" Билеты: " + (user.tickets || 0) + " -> " + newTickets); } else { print("\n⚠️ Не удалось обновить данные пользователя"); } } // ============================================ // ВАРИАНТ 2: ФУНКЦИЯ ДЛЯ ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ // ============================================ function giveReferrals(username, referralsCount, ticketsCount) { var user = db.users.findOne({ username: username }); if (!user) { print("❌ Пользователь '" + username + "' не найден!"); return false; } var newReferralsCount = (user.referralsCount || 0) + (referralsCount || 0); // 100 билетов за каждого реферала var ticketsToAdd = (referralsCount || 0) * 100; var newTickets = (user.tickets || 0) + ticketsToAdd; var result = db.users.updateOne( { _id: user._id }, { $set: { referralsCount: newReferralsCount, tickets: newTickets } } ); if (result.modifiedCount > 0) { print("✅ " + username + ": рефералы " + (user.referralsCount || 0) + " -> " + newReferralsCount + ", билеты " + (user.tickets || 0) + " -> " + newTickets); return true; } return false; } // Использование функции: // giveReferrals("username", 2, 2); // Выдать 2 реферала и 2 билета // giveReferrals("username", 5, 10); // Выдать 5 рефералов и 10 билетов