Code Samples

 

var express = require("express"); var app = express(); var fs = require("fs"); var dt = require('./utils'); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost:27017'; app.listen(3000, () => { console.log("Server running on port 3000"); }); // this is the old way of setting up routes app.get("/", (req, res, next) => { fs.readFile('index.html', function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); return res.end(); }); }); // this is the old way of setting up routes app.get("/sayhello", (req, res, next) => { res.send("Hello World"); // no need to set content type, res.send() works out type from args passed in and sends header return res.end(); }); // this is the old way of setting up routes app.get("/sayhello-with-status", (req, res, next) => { // if you uncomment the line below, you will get the error "[ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client" // this is because the second send() is also setting the header, so it is being set twice before the end() call //res.status(200).send("Selvyn says - "); res.status(404).send("Hello World with status"); // no need to set content type, res.send() works out type from args passed in and sends header return res.end(); }); // the express way of setting up routes app.route("/users") .get(function(req, res, next) { res.writeHead(200, {'Content-Type': 'text/html'}); // When using res.write() you must send the header options process.stdout.write("Test\n"); // this writes out to the terminal where you ran the program from res.write("Listing all users"); // this writes back to the client browser but does send http header return res.end(); }); app.get("/get-dateandtime", (req, res, next) => { // if you uncomment the line below, you will get the error "[ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client" // this is because the second send() is also setting the header, so it is being set twice before the end() call //res.status(200).send("Selvyn says - "); res.status(200).send(dt.myDateTime()); // no need to set content type, res.send() works out type from args passed in and sends header return res.end(); }); app.route("/users") .get(function(req, res, next) { res.status(200).send(dt.myDateTime()); // no need to set content type, res.send() works out type from args passed in and sends header return res.end(); }); app.route("/db-connect") .get(function(req, res, next) { MongoClient.connect(url, function(err, db) { var dbo = db.db("skyteam"); if( dbo !== null ) res.status(200).send("DB Connected"); else res.status(503).send("Service Unavailable"); return res.end(); }); });

/list-all-customers

app.get("/list-all-customers", (req, res, next) => { cursor = dbo.collection(COLLECTION_NAME).find(); res.writeHead(200, {'Content-Type': 'text/html'}); cursor.each(function(err, doc) { if( doc !== null) { sent = true; res.write(JSON.stringify(doc) ); console.log(doc); console.log("==================================================================="); } else res.end(); }); });

 

Connect to DB

MongoClient.connect(url, function(err, db) { dbo = db.db("skyteam"); if( dbo.namespace === "skyteam" ) console.log("DB Connected"); else console.log("Service Unavailable"); });