NodeJs:mongoDB

mongoDB est une base de données NoSql

installer mongodb

Télécher monogodb
https://www.mongodb.com/try/download/community
npm install mongodb --save

Créer :Database et collection

Collection joue le rôle d'une table

Seveur.js

const express = require('express');
const app = express();
//importer le module
var mongo = require('mongodb');

//créer une instance
var MongoClient = require('mongodb').MongoClient;
//hostname et le port
var url = "mongodb://localhost:27017/";

 
app.get('/creer', (req, res) => {
MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  //créer la base de données maBaseDonnees
  var dbo = db.db("maBaseDonnees");
 
  //Créer la collection clients
  var client = { nom: "test", prenom: "testprnom",ville:"casa" };
  dbo.collection("clients").insertOne(client, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});
res.send("base de données et colletion crées");
});

//démarer le serveur sur le port 8081
app.listen(8081, function () {
console.log('Écoute du port 8081');
});

insert

Seveur.js

const express = require('express');
const app = express();
//importer le module
var mongo = require('mongodb');

//créer une instance
var MongoClient = require('mongodb').MongoClient;
//hostname et le port
var url = "mongodb://localhost:27017/";

app.get('/insert', (req, res) => {
MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("maBaseDonnees");
  var clients = [
    { nom: "client1", prenom: "client1Prenom",ville:"fes" },
  { nom: "client2", prenom: "client2Prenom",ville:"dakhla" }
  ];
  dbo.collection("clients").insertMany(clients, function(err, res) {
    if (err) throw err;
    console.log("Number of documents inserted: " + res.insertedCount);
    db.close();
  });
});
res.send("Bien ajouté");
});


//démarer le serveur sur le port 8081
app.listen(8081, function () {
console.log('Écoute du port 8081');
});

find :=> select

app.get('/find', (req, res) => {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    var dbo = db.db("maBaseDonnees");    //Afficher all
    dbo.collection("clients").find({}, { projection: {} }).toArray(function(err, result) {
    /*nom:0 ne pas afficher le nom
    dbo.collection("clients").find({}, { projection: {nom:0} }).toArray(function(err, result)
   
   {nom:"test"} => where nom="test"
   dbo.collection("clients").find({nom:"test"}, { projection: {} }).toArray(function(err, result)
  */
      if (err) throw err;
      db.close();
    res.send(result);
    });
  });
 
  });

sort

trier Les resultats de find
app.get('/sort', (req, res) => {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    var dbo = db.db("maBaseDonnees");    
    /*
    sort({nom:1,ville:-1}) => order by name asc,ville desc
    */
    dbo.collection("clients").find({}, { projection: {} }).sort({nom:1,ville:-1}).toArray(function(err, result) {
      if (err) throw err;
      db.close();
    res.send(result);
    });
  });
 
  });

delete

 
app.get('/delete', (req, res) => {
  MongoClient.connect(url, function(err, db) {
    if (err) throw err;
    var dbo = db.db("maBaseDonnees");
    var myquery = { nom: /^test/ };//qhere nom like 'test%'
    dbo.collection("clients").deleteMany(myquery, function(err, result) {
      if (err) throw err;
   res.send(result);
   db.close();
 
    });
  });
 
  });

update

app.get('/update', (req, ress) => {
  MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("maBaseDonnees");
  var myquery = { nom: "client1" };//update ... where nom='client1'
  var newvalues = { $set: {nom: "clientModifier", ville: "villeModifie" } };
  dbo.collection("clients").updateOne(myquery, newvalues, function(err, res) {
    if (err) throw err;
    ress.send("1 document updated");
    db.close();
  });
});
});









Cours et TPs