MongoDB Basics
Basic Commands
show dbs
Show databasesuse dbName
Connect/Select databaseuse dbName
Create database (MongoDB doesn’t actually create a db until we start storing documents, so although you now have the db bookmarks, it’s not actually saved anywhere until we put some data in it. Same goes for collectons )db
show the db you are usingdoc
show the document content
NoSQL Database Terms
MongoDB | MySQL |
---|---|
Collections | Tables |
Documents | Rows |
Fields (key:value pairs) | Columns |
Adding Data
There are two methods. One uses .insert()
db.links.insert({ title: "Courses", url: "http://tutsplus.com", comment: "advanced programming video courses", tag: ["tutorials", "dev "], saved_on: new Date() });
and the other us saving an empty document and then adding data to it. e.g:
var doc = {};
doc.title = '';
doc.url = '';
doc.comment = '';
doc.tags = '';
doc.saved_on = new Date;
adding sub-objects inside of objects
doc.meta = {}
doc.meta.browser = 'Google Chrome 31'
doc.meta.OS = 'Mac OS 10.9.2'
Saving and Updating data
db.links.save(doc)
save all data in the doc collection to the links databasedb.links.update()
Methods
.insert()
add data.count()
show the number of collections/documents.date()
shows the date the data was entered.find()
find with no parameters given will just output all data, e.g: -db.links.find()
.save()
.update()
.forEach(printjson);
print documents nicely formatted e.g:db.links.find()- .forEach(printjson);
.getTimestap()
use this method on an _id to get the time the object was created.
Object IDs
This _id
or ObjectId object field is immutable and unique. You can’t have two documents with the same _id
- 12 byte value
- BSON data type
- based on the hostname of the machine, the prcess id of the server process, the time the record was saved and a random incrementing number.
- since they are based on the time they are created, we can get the time an object was created by its ID. We don’t need the created_at or saved_at fields in MongoDB because the ID already has that info.