1. Connect to MongoDB
mongo
2. Create a Database
use mydatabase
3. Create a Collection
db.createCollection("mycollection")
4. Insert a Document
db.mycollection.insert({ name: "John", age: 30 })
5. Find a Document
db.mycollection.find({ name: "John" })
6. Update a Document
db.mycollection.update({ name: "John" }, { $set: { age: 31 } })
7. Delete a Document
db.mycollection.remove({ name: "John" })
8. Drop a Collection
db.mycollection.drop()
9. Drop a Database
db.dropDatabase()
10. Show Databases
show dbs
11. Show Collections
show collections
12. Find All Documents
db.mycollection.find()
13. Find Documents with Condition
db.mycollection.find({ age: { $gt: 30 } })
14. Find Documents with Multiple Conditions
db.mycollection.find({ age: { $gt: 30 }, name: "John" })
15. Find Documents with OR Condition
db.mycollection.find({ $or: [{ age: { $gt: 30 } }, { name: "John" }] })
16. Find Documents with AND Condition
db.mycollection.find({ $and: [{ age: { $gt: 30 } }, { name: "John" }] })
17. Find Documents with NOT Condition
db.mycollection.find({ age: { $not: { $gt: 30 } } })
18. Find Documents with IN Condition
db.mycollection.find({ age: { $in: [30, 31, 32] } })
19. Find Documents with NIN Condition
db.mycollection.find({ age: { $nin: [30, 31, 32] } })
20. Find Documents with EXISTS Condition
db.mycollection.find({ age: { $exists: true } })
21. Find Documents with TYPE Condition
db.mycollection.find({ age: { $type: "int" } })
22. Find Documents with REGEX Condition
db.mycollection.find({ name: { $regex: "^J" } })
23. Find Documents with TEXT Condition
db.mycollection.find({ $text: { $search: "John" } })
24. Find Documents with WHERE Condition
db.mycollection.find({ $where: "this.age > 30" })
25. Find Documents with SORT Condition
db.mycollection.find().sort({ age: 1 })
26. Find Documents with LIMIT Condition
db.mycollection.find().limit(10)
27. Find Documents with SKIP Condition
db.mycollection.find().skip(10)
28. Update Multiple Documents
db.mycollection.updateMany({ age: { $gt: 30 } }, { $set: { age: 31 } })
29. Delete Multiple Documents
db.mycollection.deleteMany({ age: { $gt: 30 } })
30. Create an Index
db.mycollection.createIndex({ age: 1 })
31. Drop an Index
db.mycollection.dropIndex("age_1")
32. List Indexes
db.mycollection.getIndexes()
33. Aggregate Documents
db.mycollection.aggregate([
{ $match: { age: { $gt: 30 } } },
{ $group: { _id: "$name", total: { $sum: 1 } } }
])
34. Group By
db.mycollection.aggregate([
{ $group: { _id: "$age", count: { $sum: 1 } } }
])
35. Project Fields
db.mycollection.find({}, { name: 1, age: 1 })
36. Limit and Skip
db.mycollection.find().limit(5).skip(10)
37. Count Documents
db.mycollection.countDocuments({ age: { $gt: 30 } })
38. Distinct Values
db.mycollection.distinct("age")
39. Create a User
db.createUser ({
user: "myUser ",
pwd: "myPassword",
roles: [{ role: "readWrite", db: "mydatabase" }]
})
40. Drop a User
db.dropUser ("myUser ")
41. Grant Roles to a User
db.grantRolesToUser ("myUser ", [{ role: "dbAdmin", db: "mydatabase" }])
42. Revoke Roles from a User
db.revokeRolesFromUser ("myUser ", [{ role: "dbAdmin", db: "mydatabase" }])
43. Show Users
db.getUsers()
44. Backup a Database
mongodump --db mydatabase --out /path/to/backup
45. Restore a Database
mongorestore /path/to/backup
46. Export to JSON
mongoexport --db mydatabase --collection mycollection --out mycollection.json
47. Import from JSON
mongoimport --db mydatabase --collection mycollection --file mycollection.json
48. Create a View
db.runCommand({
create: "myView",
viewOn: "mycollection",
pipeline: [ { $match: { age: { $gt: 30 } } } ]
})
49. Drop a View
db.myView.drop()
50. Create a Time Series Collection
db.createCollection("myTimeSeries", { timeseries: { timeField: "timestamp", metaField: "metadata" } })
51. Insert a Time Series Document
db.myTimeSeries.insert({ timestamp: new Date(), metadata: { sensor: "temperature" }, value: 22.5 })
52. Find Time Series Documents
db.myTimeSeries.find({ "metadata.sensor": "temperature" })
53. Create a Change Stream
const changeStream = db.mycollection.watch();
changeStream.on("change", (change) => {
printjson(change);
});
54. Use Transactions
const session = db.getMongo().startSession();
session.startTransaction();
try {
db.mycollection.insert({ name: "Alice" }, { session });
db.mycollection.insert({ name: "Bob" }, { session });
session.commitTransaction();
} catch (error) {
session.abortTransaction();
}
55. Create a Sharded Cluster
sh.enableSharding("mydatabase")
sh.shardCollection("mydatabase.mycollection", { "shardKey": 1 })
56. Add a Shard
sh.addShard("shard1.example.com:27017")
57. List Shards
sh.status()
58. Enable Sharding on a Collection
sh.shardCollection("mydatabase.mycollection", { "shardKey": 1 })
59. Disable Sharding on a Collection
sh.disableSharding("mydatabase.mycollection")
60. View Shard Key
db.mycollection.getShardDistribution()
61. Create a Replica Set
rs.initiate()
62. Add Member to Replica Set
rs.add("newMember.example.com:27017")
63. Remove Member from Replica Set
rs.remove("oldMember.example.com:27017")
64. Check Replica Set Status
rs.status()
65. Force Primary Election
rs.stepDown()
66. Create a User with Roles
db.createUser ({
user: "admin",
pwd: "password",
roles: [{ role: "readWrite", db: "mydatabase" }]
})
67. List All Users
db.getUsers()
68. Change User Password
db.updateUser ("admin", { pwd: "newpassword" })
69. Create a Role
db.createRole({
role: "myRole",
privileges: [{ resource: { db: "mydatabase", collection: "" }, actions: ["find", "insert"] }],
roles: []
})
70. Drop a Role
db.dropRole("myRole")
71. Grant Role to User
db.grantRolesToUser ("admin", [{ role: "myRole", db: "mydatabase" }])
72. Revoke Role from User
db.revokeRolesFromUser ("admin", [{ role: "myRole", db: "mydatabase" }])
73. Create a Backup of a Collection
mongoexport --db mydatabase --collection mycollection --out mycollection_backup.json
74. Restore a Collection from Backup
mongoimport --db mydatabase --collection mycollection --file mycollection_backup.json
75. Create a Compound Index
db.mycollection.createIndex({ name: 1, age: -1 })
76. Create a Unique Index
db.mycollection.createIndex({ email: 1 }, { unique: true })
77. Create a Sparse Index
db.mycollection.createIndex({ age: 1 }, { sparse: true })
78. Create a TTL Index
db.mycollection.createIndex({ createdAt: 1 }, { expireAfterSeconds: 3600 })
79. Use Aggregation Framework
db.mycollection.aggregate([
{ $match: { age: { $gt: 30 } } },
{ $group: { _id: "$name", total: { $sum: 1 } } }
])
80. Use Map-Reduce
db.mycollection.mapReduce(
function() { emit(this.name, 1); },
function(key, values) { return Array.sum(values); },
{ out: "myMapReduceResults" }
)
81. Create a GridFS Bucket
const bucket = new GridFSBucket(db);
82. Upload a File to GridFS
const uploadStream = bucket.openUploadStream("myFile.txt");
uploadStream.end("Hello, World!");
83. Download a File from GridFS
const downloadStream = bucket.openDownloadStream(fileId);
downloadStream.pipe(fs.createWrite Stream("myFile.txt");
84. List Files in GridFS
db.fs.files.find()
85. Delete a File from GridFS
bucket.delete(fileId);
86. Create a Change Stream
const changeStream = db.mycollection.watch();
changeStream.on("change", (change) => {
console.log(change);
});
87. Use Transactions
const session = db.getMongo().startSession();
session.startTransaction();
try {
db.mycollection.insertOne({ name: "Alice" }, { session });
db.mycollection.insertOne({ name: "Bob" }, { session });
session.commitTransaction();
} catch (error) {
session.abortTransaction();
}
88. Create a Sharded Cluster
sh.enableSharding("mydatabase")
sh.shardCollection("mydatabase.mycollection", { "shardKey": 1 })
89. Add a Shard
sh.addShard("shard1.example.com:27017")
90. List Shards
sh.status()
91. Enable Sharding on a Collection
sh.shardCollection("mydatabase.mycollection", { "shardKey": 1 })
92. Disable Sharding on a Collection
sh.disableSharding("mydatabase.mycollection")
93. View Shard Key
db.mycollection.getShardDistribution()
94. Create a Replica Set
rs.initiate()
95. Add Member to Replica Set
rs.add("newMember.example.com:27017")
96. Remove Member from Replica Set
rs.remove("oldMember.example.com:27017")
97. Check Replica Set Status
rs.status()
98. Force Primary Election
rs.stepDown()
99. Create a User with Roles
db.createUser ({
user: "admin",
pwd: "password",
roles: [{ role: "readWrite", db: "mydatabase" }]
})
100. List All Users
db.getUsers()