goo
The following table shows the relationship of RDBMS terminology with MongoDB.
RDBMS MongoDB
Database Database
Table Collection
Tuple/Row Document
column Field
Table Join Embedded Documents
Primary Key Primary Key (Default key _id provided by
mongodb itself)
Database Server and Client
Mysqld/Oracle mongod
mysql/sqlplus mongo
MongoDB stores data records as BSON documents. BSON is a binary
representation of JSON documents, though it contains more data types than
JSON. For the BSON spec, see [Link]. See also BSON Types.
MongoDB
Show All Databases
show dbs
Show Current Database
db
Create Or Switch Database
use acme
Drop
[Link]()
Create Collection
[Link]('posts')
Show Collections
show collections
Insert Row
[Link]({
title: 'Post One',
body: 'Body of post one',
category: 'News',
tags: ['news', 'events'],
user: {
name: 'John Doe',
status: 'author'
},
date: Date()
})
Insert Multiple Rows
[Link]([
{
title: 'Post Two',
body: 'Body of post two',
category: 'Technology',
date: Date()
},
{
title: 'Post Three',
body: 'Body of post three',
category: 'News',
date: Date()
},
{
title: 'Post Four',
body: 'Body of post three',
category: 'Entertainment',
date: Date()
}
])
Get All Rows
[Link]()
Get All Rows Formatted
[Link]().pretty()
Find Rows
[Link]({ category: 'News' })
Sort Rows
# asc
[Link]().sort({ title: 1 }).pretty()
# desc
[Link]().sort({ title: -1 }).pretty()
Count Rows
[Link]().count()
[Link]({ category: 'news' }).count()
Limit Rows
[Link]().limit(2).pretty()
Chaining
[Link]().limit(2).sort({ title: 1 }).pretty()
Foreach
[Link]().forEach(function(doc) {
print("Blog Post: " + [Link])
})
Find One Row
[Link]({ category: 'News' }). It will return the first one
Find Specific Fields
[Link]({ title: 'Post One' }, {
title: 1,
author: 1
})
[Link]
[Link]
documents-in-a-mongodb-collection
Update Row
[Link]({ title: 'Post Two' },
{
title: 'Post Two',
body: 'New body for post 2',
date: Date()
},
{
upsert: true
})
Update Specific Field
[Link]({ title: 'Post Two' },
{
$set: {
body: 'Body for post 2',
category: 'Technology'
}
})
Increment Field ($inc)
[Link]({ title: 'Post Two' },
{
$inc: {
likes: 5
}
})
Rename Field
[Link]({ title: 'Post Two' },
{
$rename: {
likes: 'views'
}
})
Delete Row
[Link]({ title: 'Post Four' })
Sub-Documents
[Link]({ title: 'Post One' },
{
$set: {
comments: [
{
body: 'Comment One',
user: 'Mary Williams',
date: Date()
},
{
body: 'Comment Two',
user: 'Harry White',
date: Date()
}
]
}
})
Find By Element in Array ($elemMatch)
[Link]({
comments: {
$elemMatch: {
user: 'Mary Williams'
}
}
}
)
Add Index
[Link]({ title: 'text' })
// Creates indexes on collections.
// If you had a collection with thousands of documents with no indexes, and then you query to
find certain documents, then in such case MongoDB would need to scan the entire collection to
find the documents. But if you had indexes, MongoDB would use these indexes to limit the
number of documents that had to be searched in the collection.
Text Search
[Link]({
$text: {
$search: "\"Post O\""
}
})
Greater & Less Than
[Link]({ views: { $gt: 2 } })
[Link]({ views: { $gte: 7 } })
[Link]({ views: { $lt: 7 } })
[Link]({ views: { $lte: 7 } })
mongo "mongodb://[Link],raj-shard-00-
[Link],raj-shard-00-02-
[Link]/test?replicaSet=raj-shard-0" --ssl
--authenticationDatabase admin --username agam_sahu --password
<password>
“text index required for $text query”
“IndexNotFound”
// [Link]