Maintenant que nous avons eu un aperçu rapide de Mongoose ODM et
comment Mongoose apporte des schémas pour structurer les documents que nous stockons dans notre MongoDB,
regardons comment nous utilisons
le module de noeud Mongoose et ensuite l'incorporer dans notre application de noeud.
Ensuite, utilisez Mongoose pour communiquer avec
notre serveur MongoDB, puis stocker et récupérer des
documents avec des informations de structure dans les documents.
Pour commencer cet exercice,
accédez à un emplacement pratique sur votre ordinateur.
Donc, ici je suis dans le dossier Node JS où j'ai stocké
tous les exemples de ce cours et puis je vais
créer un nouveau dossier nommé noeud Mongoose.
C' est là que nous allons créer l'application de nœud en utilisant Mongoose ensuite.
Dans le terminal ou la fenêtre de commande,
déplacez vers le dossier Mongoose du noeud, puis initialisez une application de noeud là.
Donc, laissez-moi taper npm init et puis
initialiser l'application de nœud, puis je nommerais l'application
comme Node-Mongoose et le point d'entrée est index.js git history,
mots-clés, auteur et licence et nous dirons ok.
Une fois le fichier package.json de noeud créé,
ouvrez le projet dans l'éditeur de texte de votre choix.
Donc, ici, j'ai mon projet ouvert dans Visual Studio.
Laissez-moi entrer dans le fichier package.json, puis ajouter dans
le script de démarrage, puis nous
dirons commencer l'index de noeud comme d'habitude chaque fois que nous commençons avec une nouvelle application de noeud.
Ensuite, en allant au terminal ou à la fenêtre de commande, installons Mongoose.
Donc, à l'invite, tapez npm installer Mongoose, enregistrez.
Qui en ce moment est Mongoose 5.1.7.
Donc, ce sont les versions que je vais utiliser dans ce cours.
Puis aller à mon application dans l'éditeur.
Permettez-moi de créer un sous-dossier dans le projet appelé Models.
Donc, c'est là que je vais stocker tous les modèles pour mon application.
Dans le dossier models,
permettez-moi de créer un nouveau fichier nommé dishes.js.
Donc, c'est là que je vais créer le schéma et le modèle
pour mes plats document que je vais stocker,
la collection de plats qui stocke les documents pour chaque vaisselle.
Donc, juste là, laissez-moi d'abord importer Mongoose.
Donc, nous allons exiger Mongoose dans ce fichier, puis dire que le
schéma const est le schéma Mongoose.
Ensuite, nous allons créer le schéma ici.
Donc, nous allons dire const Dish.Schema nouveau schéma.
Donc, c'est là que je définit le schéma pour mon plat.
À l'intérieur de ce schéma, permettez-moi de définir les différentes valeurs.
Donc, je vais dire nom,
qui est le type String.
Donc, c'est le type de schéma et ensuite cela je déclarerais comme nécessaire.
Donc, je vais dire vrai.
Donc, chaque document aura le nom comme un champ obligatoire là-bas et alors je
vais également déclarer cela comme unique signifiant qu'
aucun document ne devrait avoir le même champ de nom dedans.
C' est donc le premier champ de mon document.
Ensuite, nous inclurons également un autre champ appelé comme, description.
La description est de la chaîne de type et obligatoire true.
En outre, nous pouvons demander à Mongoose d'insérer automatiquement des
horodatages dans notre modèle.
Donc, juste là, nous pouvons juste mettre en place les horodatages du drapeau : vrai.
Ainsi, cela ajoutera automatiquement les
deux horodatages créés à et mis à jour à, dans chaque document stocké
dans notre application et il mettra automatiquement à jour ces valeurs.
Chaque fois que nous mettons à jour le document et le créé à sera automatiquement
initialisé lorsque le document est le premier créateur de cette époque.
Après cela, nous dirons var Plats.
Donc, étant donné le schéma,
maintenant nous allons construire le modèle à partir de ce schéma.
Donc, nous allons dire le modèle et le plat de Mongoose,
et cela va utiliser le schéma de plat que nous venons de déclarer plus tôt.
Ensuite, nous allons exporter
ce modèle à partir de ce fichier ici.
Donc, nous allons dire des plats d'exportation de module.
Donc, maintenant nous avons construit
le schéma Mongoose et le modèle correspondant et le modèle est maintenant exporté d'ici.
Ainsi, cela peut être importé dans notre application et utilisé.
Donc, dans notre dossier de projet,
permettez-moi de créer un nouveau fichier nommé index.js.
Dans le fichier index.js,
laissez-moi d'abord exiger Mongoose,
puis après cela, nous pouvons dire que les
plats const nécessitent des modèles plats.
Parce que nous avons déjà créé le modèle Dishes dans
le fichier plats de modèles là-bas et ensuite nous l'avons besoin ici.
Maintenant, pour établir la connexion au serveur Mongo,
nous allons dire const URL mongodb.
Localhost 27017, Confusion.
Donc, cette base de données est celle à laquelle nous allons nous connecter à partir de notre application
, puis après cela, nous pouvons établir la connexion en disant const connect Mongoose.
Mongoose prend en charge cette méthode de connexion,
qui prend l'URL comme premier paramètre.
Donc, une fois que nous avons établi cela,
alors nous disons simplement connecter alors.
Notez que puisque nous utilisons déjà des promesses,
nous pouvons simplement dire se connecter puis cela prendra
une fonction comme paramètre
et ici nous pouvons maintenant nous connecter à la base de données.
Donc maintenant, une fois que cette connexion est établie,
laissez-moi faire un journal de console
disant connecté correctement au serveur,
et ici je peux créer un nouveau plat en disant var
nouveau plat, puis Plats et à l'intérieur ici je peux spécifier un document donc je suis
en train de créer un nouveau plat de ce genre et puis ainsi ici Je vais
spécifier les deux champs qui sont requis.
Donc, je vais dire nom,
description et c'est ainsi que vous créeriez un nouveau plat, puis une fois que nous créons
un nouveau plat à partir du modèle, nous allons simplement dire nouveau plat sauver.
La méthode save fera enregistrer cette valeur Dish,
puis comme vous vous attendez retournera une promesse,
puis ici nous obtiendrons la valeur Dish comme appel là-bas et puis, je
peux simplement enregistrer la valeur Dish ici et puis, après cela, nous dirons
Plats trouver et donc nous trouverons
tous les Plats et puis dire exec.
L' exec s'assurera que cela est
exécuté et qu'il retournera une promesse et que cette promesse
sera retournée afin qu'il puisse ensuite
enchaîner la méthode aux autres.
Donc, vous voyez comment j'utilise des promesses, puis j'invoque la méthode précédente afin
que celle-ci trouve tous les Dishes dans ma base de données,
dans la collection Dishes, puis le rend disponible pour moi.
Donc, quand je reçois les plats, alors je peux simplement consigner les plats juste pour voir ce qui est
retourné et cela évidemment à ce stade devrait
retourner ce seul plat que j'ai inséré dans
ma collection Dishes et ensuite nous dirons
retourner Plats supprimer avec
un objet JavaScript vide qui va supprimer tous les plats de
la base de données et retourner la
connexion mongoose close qui ferme la connexion à la base de données.
Et attraper n'importe quelle erreur à ce stade.
Donc, nous allons utiliser le catch, puis le journal de la console.
C' est ça. Donc, ce que nous faisons ici, c'est que nous créons le nouveau plat et ensuite nous
sauvegardons le plat puis nous trouvons tous les plats de la collection.
C' est ça. Nous utilisons les promesses ici,
donc nous avons enchaîné toutes les tanières ici. C'est ça.
Sauvegardons les modifications, puis voyons cette application en cours d'exécution.
Allez dans le terminal,
à l'invite de type npm start et vous
verrez que mon application de nœud s'exécute et puis il montre, d'
abord, qu'il a créé ce plat particulier.
Notez en particulier, que ces deux champs,
mis à jour à et créés à,
ces deux horodatages ont été automatiquement ajoutés dans
le Dish ici et que vous pouvez voir que le créé à et
mis à jour à des horodatages sont exactement les mêmes pour le moment
, puis l'ID est également automatiquement ajouté dans.
Dans l'étape suivante, nous imprimons tous les plats qui ont été récupérés et vous
pouvez donc voir que ce seul plat est dans la collection, collection Dishes
, et c'est ce qui est imprimé sur l'écran ici.
Initialisons maintenant le dépôt Git et puis mettons en place le fichier gitignore obtenu
alors allons à l'éditeur puis nous créons le fichier .gitignore, puis ajoutons des
modules de noeud au fichier gitignore et sauvegardons les changements,
puis revenons à l'invite, laissez-moi
taper git status et nous voyons que
nous avons ces fichiers qui n'ont pas été archivés, donc nous dirons
git add et ensuite git
commit le message Mongoose Part One.
Avec cela, nous complétons cet exercice.
Dans cet exercice, nous avons vu à quel point il est facile de mettre en place une application de nœud avec
mongoose et de se connecter à notre serveur MongoDB, puis d'interagir avec elle.
Maintenant, comme mongoose construit sur le serveur MongoDB,
Mongoose peut accéder à toutes les différentes méthodes
qui sont prises en charge par le pilote MongoDB également.