NodeJs:mongoDB
mongoDB est une base de données NoSql
https://www.mongodb.com/try/download/community
installer mongodb
Télécher monogodbhttps://www.mongodb.com/try/download/community
Créer :Database et collection
Collection joue le rôle d'une tableSeveur.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 findapp.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();
});
});
});