ensure that leaderboard-displayName pair is unique

This commit is contained in:
Sainan 2025-03-24 14:25:58 +01:00
parent ea201e3be8
commit 67ee1d147b

View File

@ -13,6 +13,7 @@ const leaderboardEntrySchema = new Schema<ILeaderboardEntryDatabase>(
); );
leaderboardEntrySchema.index({ leaderboard: 1 }); leaderboardEntrySchema.index({ leaderboard: 1 });
leaderboardEntrySchema.index({ leaderboard: 1, displayName: 1 }, { unique: true });
leaderboardEntrySchema.index({ expiry: 1 }, { expireAfterSeconds: 0 }); // With this, MongoDB will automatically delete expired entries. leaderboardEntrySchema.index({ expiry: 1 }, { expireAfterSeconds: 0 }); // With this, MongoDB will automatically delete expired entries.
export const Leaderboard = model<ILeaderboardEntryDatabase>("Leaderboard", leaderboardEntrySchema); export const Leaderboard = model<ILeaderboardEntryDatabase>("Leaderboard", leaderboardEntrySchema);