0% ont trouvé ce document utile (0 vote)
33 vues7 pages

Cours No SQL

Le document fournit un guide sur l'installation et l'utilisation de MongoDB, y compris des instructions pour configurer l'environnement et des exemples de commandes CRUD. Il aborde également des concepts avancés tels que l'agrégation, les index géospatiaux et la validation des données. Enfin, il mentionne des ressources documentaires et des conseils pour une évaluation sur le sujet.

Transféré par

Nax B
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Données de test,
  • Installation,
  • MongoCharts,
  • Utilisation de Regex,
  • MongoDB,
  • Création d'index,
  • CRUD,
  • Mise à jour de documents,
  • Programmation fonctionnelle,
  • JSON
0% ont trouvé ce document utile (0 vote)
33 vues7 pages

Cours No SQL

Le document fournit un guide sur l'installation et l'utilisation de MongoDB, y compris des instructions pour configurer l'environnement et des exemples de commandes CRUD. Il aborde également des concepts avancés tels que l'agrégation, les index géospatiaux et la validation des données. Enfin, il mentionne des ressources documentaires et des conseils pour une évaluation sur le sujet.

Transféré par

Nax B
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • Données de test,
  • Installation,
  • MongoCharts,
  • Utilisation de Regex,
  • MongoDB,
  • Création d'index,
  • CRUD,
  • Mise à jour de documents,
  • Programmation fonctionnelle,
  • JSON

29/09/2021

Base de données NOSQL (MONGODB)

MongoDB university
Install MONGO DB sur le site internet official (package MSI)

Aller dans « modifier les variables » sur la barre de recherche Windows

Cliquer sur « variable d’environnement »

Et faire les modifs dans « path »

Ajouter le chemin vers du disque local :C qui suit vers MongoDB Tools/ Server jusqu’à « Bin »

Dans le CMD tester la commande : « mongo - -version »

Exemple de base de données MONGODB

Mongo Atlas : visualiser les bases de données, modifier et gérer les bases.

Mongo Atlas -> Collections -> sample training ou sample_training posts (ce sont des documents)

Les documents ont tous une propriété underscore ( _id )

Pourquoi MongoDB ? Gestionnaire de base de données, très permissif, SGBD (système de gestion de base de
données) orienté document, la puissance et la simplicité à traité les données, permettre de faire des
agrégations pour filtrer/modifier les données et mettre à jour les bases.
C’est possible de faire cela avec MongoDB mais ce n’est pas conseiller

Format JSON toujours en double guillemet dans les collections

Exercices :

1. Pour entrer dans le file des données :

mongoimport --db newyork --collection restaurants --file "C:\Users\rooks\OneDrive\Documents\Efrei\Exo


Christophe\MongoDB\data\[Link]" dans le PowerShell

2. Méthode CRUD (Create, Read, Update et Delete) – MQL MongoDB Query Language

Taper : mongo -> show dbs -> use videoclub -> [Link]

show collection -> [Link](« films »)

[Link](

« titre » : « lord of the rings »,

« durée » : 186,

},

« titre » : « Star Wars »,

« durée » : 165,

},
]

-> [Link] -> [Link]().pretty() pour voir ce qu’il y a dans chaque variable

-> [Link]({ … })

-> [Link]().count()

-> [Link]().limits()

-> [Link]({« titre » : « la grande vadrouille »}, { $set : {« durée » : 665},


$currentDate : {lastModified : true} })

-> [Link]({« titre » : « Matrix Reloaded »}, {$set : {« [Link] » :


« l’Hermite », « [Link] » : « Thierry »}})

-> [Link]()

-> [Link]()

Champs addFields : ajouter un champs

Créer des variables dans le Shell de mongo :

const today = new Date().toLocaleDateString('fr-FR');


[Link]({
"titre": "test variables",
"durée": today
}
)

Query operations : Query and Projection Operators — MongoDB Manual

IT : pour afficher le reste des résultats

Les Indexes en base de données sont existantes pour faciliter la recherche lors de la requête grâce au scan de
collections lors de grande base de données (ex : [Link]({ items : 1, quantity : 1 }, {name :
« … »} ) )

mongoimport --db paris --collection piscines --file "./data/piscines_paris.json" - -drop (afin de rajouter le bon
file dans une db)

MQL = MongoDB Query Language

1) Database -> db<method>


2) Collections -> [Link]()
3) Cursor -> [Link]().count()
Le pipeline d’agrégation :

(Tuyau qui sert à modifier ou filtrer les données pour ensuite ouvrir ses branches vers d’autre branches)

1) Mettre à jour la collection avec une agrégation


2) Le stage d’agrégation $geoNear :
a) Compréhension, création et utilisation de l’index de types « 2d » et « 2dsphere »
b) Utilisation de $geoNear pour filtrer des documents par leur position géospatial

- Etapes (« stages ») :

$match() – $group() – $limit() – $sort() - $project() - $geoNear() - $count() - $skip()

- Opérateurs (« operators ») :

$avg - $max - $and - $or - $not - $eq - $lt / $lte - $gt / $gte - $sum ( … )

- Utilisations :
Syntaxe :

[Link]( [

{ <stage> : {operator} }

( … ) -> autre stages

])

Exemple :

[Link]( [

{ $match : {« zipCode » : 75013}},

{ $sort : {« name » : 1}},

{ $group : {« _id » : « $zipCode »,

« number » : {$sum :1}},

{ $project : {« _id : 0 »}}

])

Near = retourne les docs de la collections du plus proche à la plus éloignées, au préalable lui créer un index.

Pour créer l’index :

- Entrer dans la base de données ([Link])


[Link]( { ‘geometry ‘ : « 2sphere » }, {« name » : « 2geoIndex », « 2dsphere »} })
$geoNear (agrégation) ou $near

But : Calculer la distance entre 2 points dans l’espace en s’appuyant sur les coord. (latitudes &
longitude).

Attention ! : REQUIERT la création préalable d’un index « 2d » ou « 2dsphere » pour fonctionner !!!
[Link]({<champ GeoJson> : {type : « Point », coordinates :<lon>, <lat>}})

Syntaxe : {$near : {

$geometry : {

type : « Point », (ou [Link])

coordinates : [<longitudes>, <latitudes>]

},

[ options ]

14/10/2021

1) $setOnInsert : définir les infos d’un nouveau documents


updateMany({« zipCode » : 75013 }, {$set : {« propre » : true}}, {upsert : true})
{$setOnInsert : {« name » : « Toto », « city » : « Paris »}
2) Validator :
a. $jsonSchema : validation des données à partir d’un document JSON
b. B_ avec expression : validation des données à partir d’une expression
3) MongoCharts : démarrage & utilisation (heatmap)

Définitions :

$ = valeur

{ } = toutes les données

Int = Number (integer)

[Link]() : pour savoir ce qu’il y a dans une collection

[Link] : supprime la collection

[Link] : supprime la base de données

validationLevel : « Strict » ou « moderate »

validationError ou warn
Documentation :

- $merge (aggregation) — MongoDB Manual


- $geoNear (aggregation) — MongoDB Manual
- Aggregation Pipeline Operators — MongoDB Manual
- Download MongoDB Command Line Database Tools | MongoDB
- Calculate Distance by Latitude and Longitude using JavaScript | GeoDataSource
- Site de Regex : REGEX101 ou Regular Expressions Cheat Sheet - Almost Perfect Email Regex
- [Link]() — MongoDB Manual
- [Link]() — MongoDB Manual

Evaluation 15/10 de 14h à 17h : 11 questions sur nos connaissance de la doc et exos, pas de GeoNear, bien
relire les questions il n’y a pas de faute de frappe (renvoyer le fichier à compléter en message privé et
changer le nom du fichier pour y ajouter nom et prénom)
Comment exécuter cette fonction ? (programmation fonctionnel)

function A(arg1, arg2) {

return function (arg3) {

return function (arg4) {

[Link](arg1, arg2, arg3, arg4)

Connect mongo compass a vs code : « mongodb+srv (CLUSTER mongo Atlas => mongo Compass)

Après avoir remove une collections et vouloir réimporter : mongoimport --db mondial --
collection seas --file './data/[Link] --drop

Vous aimerez peut-être aussi