-
-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathresetUsers.js
More file actions
44 lines (36 loc) · 1016 Bytes
/
resetUsers.js
File metadata and controls
44 lines (36 loc) · 1016 Bytes
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
36
37
38
39
40
41
42
43
44
/* eslint-disable @typescript-eslint/no-require-imports */
// updateUsers.js
import { MongoClient } from "mongodb";
import dotenv from "dotenv";
dotenv.config();
const uri = process.env.MONGODB_URI; // Change if needed
const dbName = "test";
const collectionName = "users";
const fieldsToRemove = {
apiUsage: "",
createdAt: "",
dailyTokens: "",
dailyTokensResetAt: "",
lastActiveAt: "",
purchasedTokens: "",
tier: "",
totalTokensUsed: "",
apiKeys: "",
};
async function cleanUsers() {
const client = new MongoClient(uri);
try {
await client.connect();
console.log("Connected to MongoDB");
const db = client.db(dbName);
const users = db.collection(collectionName);
const updateResult = await users.updateMany({}, { $unset: fieldsToRemove });
console.log(`Updated ${updateResult.modifiedCount} user(s).`);
} catch (err) {
console.error("Error:", err);
} finally {
await client.close();
console.log("Disconnected from MongoDB");
}
}
cleanUsers();