fix: fix performance records duplication
[e-mobility-charging-stations-simulator.git] / src / performance / storage / MongoDBStorage.ts
index 3e1abd2bb59da44ae1ddff32ac4e1a0b3d297278..568f70953edc4a2a6db290dae0e51a1634e7cb68 100644 (file)
@@ -8,7 +8,7 @@ import { type Statistics, StorageType } from '../../types';
 import { Constants } from '../../utils';
 
 export class MongoDBStorage extends Storage {
-  private readonly client: MongoClient | null;
+  private readonly client?: MongoClient;
   private connected: boolean;
 
   constructor(storageUri: string, logPrefix: string) {
@@ -26,7 +26,7 @@ export class MongoDBStorage extends Storage {
       await this.client
         ?.db(this.dbName)
         .collection<Statistics>(Constants.PERFORMANCE_RECORDS_TABLE)
-        .insertOne(performanceStatistics);
+        .replaceOne({ id: performanceStatistics.id }, performanceStatistics, { upsert: true });
     } catch (error) {
       this.handleDBError(StorageType.MONGO_DB, error as Error, Constants.PERFORMANCE_RECORDS_TABLE);
     }