Action | Run Command | Example |
---|---|---|
Connect to local host on default port 27017 | mongo | mongo |
Connect to remote host on specified port | mongo --host --port | mongo --host 192.168.65.23 --port 27020 |
Connect to a database | mongo / | mongo 192.168.65.23/api |
Show current database | db | db |
Select or switch database | use | use api |
Execute a JavaScript file | load() | load (program.js) |
Display help | help | help |
Display help on DB methods | db.help() | db.help() |
Display help on Collection | db.mycol.help() | db.mycol.help() |
Action | Run Command | Example |
---|---|---|
Show all databases | show dbs | show dbs |
Show all collections in current database | show collections | show collections |
Show all users on current database | show users | show users |
Show all roles on current database | show roles | show roles |
Action | Run Command | Example |
---|---|---|
Insert a new document in a collection | db.collection.insert( ) | db.heroes.insert({"name": "Batman", "powers": ["Super Rich","Tech Gadgets","Batmobile","Martial Artists","Super Style","Alfred"], "gender": "male" }) |
Insert multiple documents into a collection | db.collection.insertMany([ <document1>, <document2>, ... ]) or db.collection.insert([<document1>, <document2>, ... ]) |
db.heroes.insertMany( [{"name": "Batman", "powers": ["Super Rich","Tech Gadgets","Batmobile","Martial Artists","Super Style","Alfred"], "gender": "male" }, {"name": "Aquaman", "powers", ["Superhuman Strength", "Telepathic Abilities"], "gender": "male"}]) |
Show all documents in the collection | db.collection.find() | db.heroes.find() |
Filter documents by field value condition | db.collection.find() | db.heroes.find({"_id": ObjectId("507f1f77bcf86cd799439011")}) |
Show only some fields of matching documents | db.collection.find(, ) | db.heroes.find({"_id": "507f1f77bcf86cd799439011"}, {name: true}) |
Show the first document that matches the query condition | db.collection.findOne(, ) | db.heroes.findOne({}, {_id:false}) |
Update specific fields of a single document that match the query condition | db.collection.update(, ) | db.heores.update({name: "Aquaman"}, {$set : {name :"Aquaman Crisis"}}) |
Remove certain fields of a single document the query condition | db.collection.update(, ) | db.heroes.update({name: "Aquaman"}, {$unset : {gender:""}}) |
Remove certain fields of all documents that match the query condition | db.collection.update(, , {multi:true} ) | db.heroes.update({gender : "male"}, {$unset : {name:""}}, {multi:true}) |
Delete a single document that match the query condition | db.collection.remove(, {justOne:true}) | db.heroes.remove({gender : "male"}, {justOne:true}) |
Delete all documents matching a query condition | db.collection.remove() | db.heroes.remove({gender : "male"}) |
Delete all documents in a collection | db.collection.remove({}) | db.heroes.remove({}) |
Action | Run Command | Example |
---|---|---|
Create an index | db.collection.createIndex( {indexField:type} ) "type" can be 1 for ascending and -1 for descending | db.heroes.createIndex({organization:1}) |
Create a unique index | db.collection.createIndex( {indexField:type}, {unique:true} ) | db.heroes.createIndex( {crisisMode:1},{unique:true} ) |
Create a index on multiple fields (compound index) | db.collection.createIndex({indexField1:type1, indexField2:type2, ...}) | db.heroes.createIndex({name:1, gender:-1}) |
Show all indexes in a collection | db.collection.getIndexes() | db.heroes.getIndexes() |
Drop an index | db.collection.dropIndex( {indexField:type} ) | db.heroes.dropIndex({author:-1}) |
Show index statistics | db.collection.stats() | db.heroes.stats() |
Action | Run Command | Example |
---|---|---|
Show number of documents in the collection | cursor.count() | db.heroes.find().count() |
Limit the number of documents to return | cursor.limit() | db.heroes.find().limit(2) |
Return the result set after skipping the first n number of documents | cursor.skip() | db.heroes.find().skip(2) |
Sort the documents in a result set in ascending or descending order of field values | cursor.sort( <{field : value}> ) where value = 1 for ascending and -1 for descending | db.heroes.find().sort( {name : 1} ) |
Display formatted (more readable) result | cursor.pretty() | db.heroes.find({}).pretty() |
Action | Run Command | Example |
---|---|---|
equals to | {<field>: { $eq: <value> }} | db.heroes.find({name: {$eq: "Aquaman"}}) |
less than | {<field>: { $lt: <value> }} | db.heroes.find({year: {$lt: 1981}}) |
less than or equal to | {<field>: { $lte: <value> }} | db.heroes.find({year: |
greater than | {<field>: { $gt: <value> }} | db.heroes.find({year: {$gt: 1985}}) |
greater than or equal to | {<field>: { $gte: <value> }} | db.heroes.find({year: {$gte: 2008}}) |
not equal to | {<field>: { $ne: <value> }} | db.heroes.find({year: {$ne: 2008}}) |
value in | {<field>: { $in: [ <value1>, <value2>, ... }} | db.heroes.find({year: {$in: [1985, 1991]}}) |
value not in | {<field>: { $nin: [ <value1>, <value2>, ... }} | db.heroes.find({year: {$nin: [1981, 1992]}}) |
Action | Run Command | Example |
---|---|---|
OR | { $or: [<expression1>, <expression2>,...]} | db.heroes.find( { $or: [{year: {$lte: 1981}}, {year: {$eq: 1991}}]} ) |
AND | { $and: [<expression1>, <expression2>,...]} | db.heroes.find( { $and: [{year: {$eq: 1981}}, {gender: {$eq: "male"}}]} ) |
NOT | { $not: {<expression>}} | db.heroes.find( {$not: {year: {$eq: 1981} }}) |
NOR | { $nor: [<expression1>, <expression2>,...]} | db.heroes.find( { $nor: [{year: {$lte: 1981}}, {year: {$eq: 1993}}]} ) |
Action | Run Command | Example |
---|---|---|
Match documents that contains that specified field | {<field>: {$exists:true}} | db.heroes.find({ powers: {$exists: true }}) |
Match documents whose field value is of the specified BSON data type | {<field>: {$type:value}} | db.heroes.find({name: {$type: 2 }}) |
Action | Run Command | Example |
---|---|---|
Returns the number of mongo connections | db.serverStatus() | db.serverStatus().connections |
For comparison of different BSON type values, see the specified BSON comparison order. |
Name | Description |
---|---|
$eq | Matches values that are equal to a specified value. |
$gt | Matches values that are greater than a specified value. |
$gte | Matches values that are greater than or equal to a specified value. |
$in | Matches any of the values specified in an array. |
$lt | Matches values that are less than a specified value. |
$lte | Matches values that are less than or equal to a specified value. |
$ne | Matches all values that are not equal to a specified value. |
$nin | Matches none of the values specified in an array. |
Name | Description |
---|---|
$and | Joins query clauses with a logical AND returns all documents that match the conditions of both clauses. |
$not | Inverts the effect of a query expression and returns documents that do not match the query expression. |
$nor | Joins query clauses with a logical NOR returns all documents that fail to match both clauses. |
$or | Joins query clauses with a logical OR returns all documents that match the conditions of either clause. |
Name | Description |
---|---|
$exists | Matches documents that have the specified field. |
$type | Selects documents if a field is of the specified type. |
Name | Description |
---|---|
$expr | Allows use of aggregation expressions within the query language. |
$jsonSchema | Validate documents against the given JSON Schema. |
$mod | Performs a modulo operation on the value of a field and selects documents with a specified result. |
$regex | Selects documents where values match a specified regular expression. |
$text | Performs text search. |
$where | Matches documents that satisfy a JavaScript expression. |
Name | Description |
---|---|
$geoIntersects | Selects geometries that intersect with a GeoJSON geometry. The 2dsphere index supports $geoIntersects. |
$geoWithin | Selects geometries within a bounding GeoJSON geometry. The 2dsphere and 2d indexes support $geoWithin. |
$near | Returns geospatial objects in proximity to a point. Requires a geospatial index. The 2dsphere and 2d indexes support $near. |
$nearSphere | Returns geospatial objects in proximity to a point on a sphere. Requires a geospatial index. The 2dsphere and 2d indexes support $nearSphere. |
Name | Description |
---|---|
$all | Matches arrays that contain all elements specified in the query. |
$elemMatch | Selects documents if element in the array field matches all the specified $elemMatch conditions. |
$size | Selects documents if the array field is a specified size. |
Name | Description |
---|---|
$bitsAllClear | Matches numeric or binary values in which a set of bit positions all have a value of 0. |
$bitsAllSet | Matches numeric or binary values in which a set of bit positions all have a value of 1. |
$bitsAnyClear | Matches numeric or binary values in which any bit from a set of bit positions has a value of 0. |
$bitsAnySet | Matches numeric or binary values in which any bit from a set of bit positions has a value of 1. |
Name | Description |
---|---|
$comment | Adds a comment to a query predicate. |
Name | Description |
---|---|
$ | Projects the first element in an array that matches the query condition. |
$elemMatch | Projects the first element in an array that matches the specified $elemMatch condition. |
$meta | Projects the document’s score assigned during $text operation. |
$slice | Limits the number of elements projected from an array. Supports skip and limit slices. |