File size: 1,363 Bytes
df72131
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
const Team = require("../models/TeamModel");
const Leaderboard = require("../models/LeaderboardModel");
async function createLeaderboardDocuments() {
    try {
        // Retrieve all teams from the Team collection
        const teams = await Team.find();

        // Iterate over each team and create a leaderboard document
        for (const team of teams) {
            // Check if a leaderboard document already exists for the team
            const existingLeaderboard = await Leaderboard.findOne({ TeamID: team._id });

            if (!existingLeaderboard) {
                // Create a new leaderboard document for the team
                const leaderboard = new Leaderboard({
                    TeamID: team._id,
                    TeamName: team.TeamName,
                    Points: 0,
                    Time: new Date(),
                    RoomID: team.RoomID,
                    Round: 1,
                    Questions: { Solved: [], Unsolved: [] }
                });

                // Save the leaderboard document
                await leaderboard.save();
                console.log(`Created leaderboard document for team: ${team.TeamName}`);
            }
        }

        console.log("Leaderboard documents created for all teams.");
    } catch (error) {
        console.error("Error creating leaderboard documents:", error);
    }
}