#!/usr/bin/env node
-import MongoClient from 'mongodb';
-import fs from 'fs';
+const fs = require('fs');
+
+const MongoClient = require('mongodb');
// This script sets charging stations public or private
// Filter charging stations by id pattern
const config = JSON.parse(fs.readFileSync('scriptConfig.json', 'utf8'));
// Mongo Connection and Query
-if (config?.mongoConnectionString) {
- MongoClient.connect(config.mongoConnectionString, {
- useUnifiedTopology: true,
- useNewUrlParser: true
- }, async function(err, client) {
- const db = client.db('evse');
+if (config && config.mongoConnectionString) {
+ MongoClient.connect(config.mongoConnectionString, async function (err, client) {
+ const db = client.db();
for await (const tenantID of config.tenantIDs) {
- const response = await db.collection(tenantID + '.chargingstations').updateMany(
- { _id: { '$regex': config.idPattern } },
- { $set: { public: config.publicFlag } }
+ const response = await db
+ .collection(tenantID + '.chargingstations')
+ .updateMany({ _id: { $regex: config.idPattern } }, { $set: { public: config.publicFlag } });
+ console.info(
+ response.modifiedCount,
+ `Charging Stations with id = %${config.idPattern}% updated. TenantID =`,
+ tenantID
);
- console.log(response.modifiedCount, `Charging Stations with id = %${config.idPattern}% updated. TenantID =`, tenantID);
}
client.close();
});