set mongo security

This commit is contained in:
2025-02-04 11:17:01 +05:30
parent bfd66ffb22
commit 927da93e60
3 changed files with 40 additions and 1 deletions

View File

@@ -0,0 +1,34 @@
import { MongoClient } from 'mongodb'
export default async function mongoAdminCreation() {
const uri = process.env.MONGO_URI!; // Replace with your MongoDB URI
const client = new MongoClient(uri);
const user = {
user: 'admin',
pwd: 'admin321', // Provide a strong password
roles: [{ role: 'root', db:'admin'}] // Assign a specific role for your database, here we use readWrite for 'mydb'
};
try {
await client.connect();
const db = client.db('admin'); // Specify the actual database where the user should be created
// Check if the user already exists
const userExists = await db.collection('system.users').findOne({ user: user.user});
if (userExists) {
console.log(`User ${user} already exists`);
return; // Exit if the user already exists
}
// Create the user
await db.command({ createUser: user.user, pwd: user.pwd, roles: user.roles });
console.log("User created successfully!")
} catch (error) {
console.error("Error creating user:",error);
} finally {
await client.close();
}
}
// mongoAdminCreation