ca5875d383e650d418eed97651496a4ba74933d4
[e-mobility-charging-stations-simulator.git] / src / scripts / deleteChargingStations.js
1 #!/usr/bin/env node
2
3 const MongoClient = require('mongodb');
4 const fs = require('fs');
5
6 // This script deletes charging stations
7 // Filter charging stations by id pattern
8
9 // Use Case: charging-stations-simulator creates thousands of charging stations, which are not longer needed.
10 // Delete these charging stations all at once
11
12 // Config
13 const config = JSON.parse(fs.readFileSync('scriptConfig.json', 'utf8'));
14
15 // Mongo Connection and Query
16 if (config && config.mongoConnectionString) {
17 MongoClient.connect(config.mongoConnectionString, async function (err, client) {
18 const db = client.db();
19
20 for await (const tenantID of config.tenantIDs) {
21 const response = await db
22 .collection(tenantID + '.chargingstations')
23 .deleteMany({ _id: { $regex: config.idPattern } });
24 console.log(
25 response.deletedCount,
26 `Charging Stations with id = %${config.idPattern}% deleted. TenantID =`,
27 tenantID
28 );
29 }
30 client.close();
31 });
32 }