CRUD
MongoDB CRUD Operations
Create
Read
Update
Delete
Explore Databases and Collections
๏ Show active Database
db
๏ List all Databases
show dbs
๏ Change active database
use <database name>
๏ List all Collections inside active Database
show collections
Create, Delete Database and Collection
(1) Change active Database
Note
use <database name>
There is no command to
(2) Create new Collection create new Database.
db.createCollection("<collection name>")
Database will be created
together with first Collection.
(3) List all Collections inside active Database
show collections
(4) Delete Collection
db.getCollection("<collection name>").drop()
db.<collection name>.drop()
(5) Delete Database
db.dropDatabase()
Insert new Documents
๏ Insert One or Many Documents returns WriteResult or
BulkWriteResult Object
db.<collection name>.insert(<Object> or <Array
of Objects>)
returns "insertedId" of
๏ Insert One Document the inserted document
db.<collection name>.insertOne(<Object>)
๏ Insert Many Documents
db.<collection name>.insertMany(<Array of
Objects>)
returns "insertedIds" of
the inserted documents
insert()
๏ Insert Many Documents ๏ Insert One Document
db.<collection db.<collection
name>.insert(<Array of Objects>) name>.insert(<Object>)
BulkWriteResult({ WriteResult({ "nInserted" : 1 })
"writeErrors" : [ ],
"writeConcernErrors" : [ ],
"nInserted" : 3,
"nUpserted" : 0,
"nMatched" : 0,
"nModified" : 0,
"nRemoved" : 0,
"upserted" : [ ]
})
insertOne()
๏ Insert One Document
db.<collection name>.insertOne(Object)
{
"acknowledged" : true,
"insertedId" : ObjectId("5ad06d63be9df1be43808588")
}
insertMany()
๏ Insert Many Documents
db.<collection name>.insertMany(<Array of Objects>)
{
"acknowledged" : true,
"insertedIds" : [
ObjectId("5ad06d71be9df1be43808589"),
ObjectId("5ad06d71be9df1be4380858a"),
ObjectId("5ad06d71be9df1be4380858b")
]
}
Insert Document Example
Read Documents
Returns Cursor
๏ Find Documents Cursor must be iterated
db.<collection name>.find(<query>, <fields>) to get documents in
Extended JSON format
๏ Find One Document
db.<collection name>.findOne(<query>, <fields>)
Returns Extended JSON
Object
Cursor
{...} cursor
subset of .
.
objects
.
{...}
{...}
.
.
.
{...}
{...}
.
.
.
{...}
Cursor in MongoDB
find()
cursor
first batch request
MongoDB MongoDB
Client Server
{...} ..... {...}
next batch request
{...} ..... {...}
.....
Cursor in MongoDB
Iterator
first Batch Initial Batch Size - 101 Documents
or 1 MB
Next Batch Size up to 4 MB
Max Batch Size 16MB
MongoDB MongoDB
Client Server
next Batch
MongoDB Shell Iterator size 20
Documents
Cursor Iterate Methods
๏ Assign Cursor to the variable
var cursor = db.<collection name>.find(<args>);
๏ Iterate one document
cursor.next()
๏ Check if cursor has next document
cursor.hasNext()
๏ Quantity of documents left in current batch
cursor.objsLeftInBatch()
Cursor Iterate Methods
๏ Iterate all documents in the cursor and push
them to the array
cursor.toArray()
๏ Iterate all documents in the cursor and
perform operation with each of them
cursor.forEach(<function>)
Count, Limit, Skip and Sort Methods
๏ Count number of the documents in the cursor
cursor.count()
๏ Limit number of the documents in the cursor
cursor.limit(<number>)
๏ Skip certain number of the documents
cursor.skip(<number>)
๏ Sort documents in the cursor
cursor.sort({<fieldName1>: 1, <fieldName2>:
-1, ...})
Limit, Skip and Sort Precedence
SORT
SKIP
LIMIT
findOne()
๏ Returns One Document in Extended JSON
format
db.<collection name>.findOne(<query>, <fields>)
SUMMARY
๏ Insert methods
insert()
insertOne()
insertMany()
๏ Cursor
๏ Cursor iterator
๏ batchSize()
๏ count(), limit(), sort() and skip()