Node.js which make use of chrome v8 engine can be used for building fast, scalable network applications. It is based on event-driven and non-blocking I/O model thus making it lightweight and efficient and most suitable for real time application.
MongoDB has rapidly grown to become a popular database for web applications and can be used effectively with Node.js so as to letting developer write entire application in javascript making use of Node.js and MongoDB.
Below are the different data-type being supported by mongoDB :
-> Float is a 8 byte
-> Double class a special class representing a float value
-> Integers
-> Long class
-> Date maps
-> RegExp maps
-> String maps
-> Binary class
-> Code class
-> ObjectID class
-> DbRef class
-> Symbol class
We are thinking over here that you already have Node.js installed so in order to integrate Node.js with MongoDB we will need to install a MongoDB module being provided for Node.js.
npm install mongodb --save
Once you have mongodb installed you can start integrating it with your node project.
Create connection with mongoDB
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
// Connection URL
var db_url = 'mongodb://localhost:3000/my_project';
// Use connect method to connect to the Server
MongoClient.connect(db_url, function(err, db) {
assert.equal(null, err);
console.log("Connected to mongoDB");
db.close();
});
MongoDB have a inbuilt method find which can be used to retrieve data from a particular collection . Beside this MongoDB also provide list of other functions which can be used accordingly.
Inserting a Document
var addDocuments = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Insert some documents
collection.insertMany([
{a : 1}, {a : 2}, {a : 3}
], function(err, result) {
assert.equal(err, null);
assert.equal(3, result.result.n);
assert.equal(3, result.ops.length);
console.log("Inserted 3 documents into the document collection");
callback(result);
});
}
Lets add addDocuments to MogoClient.connect :
var MongoClient = require('mongodb').MongoClient
, assert = require('assert');
// Connection URL
var url = 'mongodb://localhost:27017/myproject';
// Use connect method to connect to the Server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected correctly to server");
addDocuments(db, function() {
db.close();
});
});
Now if you will run the updated app.js file as
node app.js
You should see the following output after running the app.js file.
-> Connected correctly to server
-> Inserted 3 documents into the document collection
Similarly we can have different functions performing remaining curd operations as required :
Updating a document
var updateDocument = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Update document where a is 2, set b equal to 1
collection.updateOne({ a : 2 }
, { $set: { b : 1 } }, function(err, result) {
assert.equal(err, null);
assert.equal(1, result.result.n);
console.log("Updated the document with the field a equal to 2");
callback(result);
});
}
Delete a document
var deleteDocument = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Insert some documents
collection.deleteOne({ a : 3 }, function(err, result) {
assert.equal(err, null);
assert.equal(1, result.result.n);
console.log("Removed the document with the field a equal to 3");
callback(result);
});
}
Find All Documents
var findDocuments = function(db, callback) {
// Get the documents collection
var collection = db.collection('documents');
// Find some documents
collection.find({}).toArray(function(err, docs) {
assert.equal(err, null);
assert.equal(2, docs.length);
console.log("Found the following records");
console.dir(docs);
callback(docs);
});
}
Thus we cover the basic CURD operations in this tutorail we will go in more detail regarding all the buildin functions or methods being provided by mongoDB.
0 Comment(s)