javascript - Is this the optimal way to perform operations to MongoDB through a node.js? -


i've writen code start connection mongodb server , inside such connection perform web services code.

is optimal or safe way? better ways implement this?

var express = require("express"); var mongodb = require("mongodb"); var servidor = new express();  var bson = mongodb.bsonpure; servidor.use(express.static(__dirname+"/publico")); servidor.use(express.bodyparser()); var cliente_mongodb = mongodb.mongoclient;  cliente_mongodb.connect("mongodb://localhost/db_escuela", function(err, db_escuela){     if(err){         console.log("error de conexion"+err);     }else{         console.log("se ha conectado la base de datos");         var cl_alumnos = db_escuela.collection("cl_alumnos");          servidor.get("/alumnos",function(peticion, respuesta){             cl_alumnos.find().toarray(function(err,respuesta_db){                 respuesta.send(respuesta_db);             });         });          servidor.get("/alumnos/:id",function(peticion,respuesta){             var id = new bson.objectid(peticion.params.id);             cl_alumnos.findone({'_id':id},function(err,respuesta_db){                 respuesta.send(respuesta_db);                        });         });          servidor.post("/alumnos",function(peticion,respuesta){             var nuevo_alumno={                 nombre:peticion.body.nombre,                 edad:peticion.body.edad,                 promedio:peticion.body.promedio             };             cl_alumnos.insert(nuevo_alumno,function(err,respuesta_db){                 console.log("se ha insertado: "+json.stringify(respuesta_db));                 respuesta.send(respuesta_db);                        });         });          servidor.delete("/alumnos/:id",function(peticion,respuesta){             var alumno_eliminar = {                 _id : new bson.objectid(peticion.params.id)             }              cl_alumnos.remove(alumno_eliminar,function(err,respuesta_db){                 if(err)                     console.log("no se ha podido eliminar el registro");                 else                     respuesta.send("registro eliminado");                            });                  });          servidor.put("/alumnos/:id",function(peticion,respuesta){             var id_editado={                 _id : new bson.objectid(peticion.params.id)                      };             var alumno_editado={                 nombre:peticion.body.nombre,                 edad:peticion.body.edad,                 promedio:peticion.body.promedio             };                   cl_alumnos.update(id_editado, alumno_editado, function(err, respuesta_db){                 if(err)                 {                     console.log("error:"+err);                 }                 else                 {                     console.log("resultado "+respuesta_db);                     respuesta.send("actualizacion exitosa");                 }             });         });           servidor.listen(8080,function(){             console.log("el servidor esta escuchando en el puerto 8080");         });                  }   }); 

this fine, , safe. connection mongodb made once. adding anonymous functions reference connection middleware server.

as far code organization goes, may suggest breaking bit. application of size above, see no problem. if plan grow, refactoring may warranted.


Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -