MongoDB
In the MongoDB shell (mongosh), you can perform a wide range of administrative and data-related operations. Here's an overview of what you can do:
1. Managing Databases
Show all databases
show dbs
Switch to a specific database
use <database_name>
Show current database
db
Drop (delete) a database
db.dropDatabase()
2. Managing Collections
Show all collections in the current database
show collections
Create a new collection
db.createCollection("collection_name")
Drop (delete) a collection
db.collection_name.drop()
3. CRUD Operations (Create, Read, Update, Delete)
Insert data
db.collection_name.insertOne({ key: "value" })
db.collection_name.insertMany([{ key1: "value1" }, { key2: "value2" }])
Query data
db.collection_name.find()
db.collection_name.find({ key: "value" })
db.collection_name.findOne({ key: "value" })
Update data
db.collection_name.updateOne({ key: "value" }, { $set: { key: "new_value" } })
db.collection_name.updateMany({ key: "value" }, { $set: { key: "new_value" } })
Delete data
db.collection_name.deleteOne({ key: "value" })
db.collection_name.deleteMany({ key: "value" })
4. Managing Indexes
Create an index
db.collection_name.createIndex({ key: 1 }) // 1 for ascending, -1 for descending
Show indexes
db.collection_name.getIndexes()
Drop an index
db.collection_name.dropIndex("index_name")
5. Performing Aggregations
Use aggregation pipeline
db.collection_name.aggregate([
{ $match: { key: "value" } },
{ $group: {_id: "$key", total: { $sum: 1 } } }
])
6. Managing Users and Permissions
Create a new user
db.createUser({
user: "username",
pwd: "password",
roles: [{ role: "readWrite", db: "database_name" }]
})
Show users
db.getUsers()
Drop (delete) a user
db.dropUser("username")
7. System Administration
Show server status
db.serverStatus()
Show configuration details
db.runCommand({ getParameter: 1 })
Show statistics of a collection
db.collection_name.stats()
8. Security Checks
Since your output indicates that access control is not enabled, you may want to enable authentication to secure your database. Here are some steps:
-
Enable access control (e.g., in the mongod.conf configuration file).
-
Create users with specific roles.
Finding the Users You Created
Since you mentioned you created users through your endpoint, you can find them in the users collection in MongoDB. Here's how you can query the users:
Show collections (to confirm the users collection exists)
show collections
Query the users
db.users.find().pretty()
This will display all documents (users) in the users collection. If you're looking for a specific user, you can filter by a field like email:
db.users.find({ email: "<user@example.com>" }).pretty()