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()