‫Instructeur : Ainsi, dans la dernière
‫conférence, nous avons appris les schémas et les modèles
‫de Mongoose, et implémentons donc maintenant un
‫schéma et un modèle très simples pour notre application.
‫Et pour l'instant, faisons-le ici sur
‫notre serveur. js fichier.
‫Plus tard, bien sûr, nous
‫allons déplacer cela dans un autre fichier.
‫Ainsi, Mongoose concerne les modèles, et un modèle
‫est comme un plan que
‫nous utilisons pour créer des documents.
‫C'est donc un peu comme les classes en JavaScript, que
‫nous utilisons aussi en quelque sorte comme des
‫plans afin de créer des objets à partir d'eux, n'est-ce pas ?
‫Encore une fois, nous créons un modèle dans Mongoose afin
‫de créer des documents en l'utilisant, et
‫également pour interroger la mise à jour et la suppression de ces documents.
‫Donc, fondamentalement, pour effectuer chacune des opérations CRUD, donc créer,
‫lire, mettre à jour et supprimer,
‫nous avons besoin d'un modèle Mongoose, et pour créer
‫un modèle, nous avons en fait besoin d'un schéma.
‫Donc, nous créons en fait des modèles
‫à partir du schéma Mongoose, comme
‫nous l'avons appris dans la dernière vidéo, et nous
‫utilisons le schéma pour décrire nos données, pour définir des valeurs
‫par défaut, pour valider les données, et toutes sortes de choses comme ça.
‫Donc, comme vous allez le
‫voir maintenant, parce que maintenant nous allons
‫commencer à créer un schéma très simple pour nos tournées.
‫Alors, disons que tourSchema est une
‫nouvelle mangouste. Schéma.
‫Ajoutez qu'ici, nous passons en fait notre schéma en tant qu'objet.
‫Très bien, nous pouvons alors également transmettre certaines options dans le
‫schéma, mais je laisse cela à une future vidéo où
‫nous avons réellement besoin de cette fonctionnalité.
‫Alors, souvenez-vous des documents de visite que nous avons
‫créés dans la dernière section lorsque
‫nous avons commencé à explorer Mongoose DB ?
‫Nous leur avons donc
‫toujours donné un nom, une note et
‫un prix, n'est-ce pas, et reproduisons maintenant
‫cela ici en prononçant le nom, puis en décrivant
‫le type de données que nous voulons après le
‫nom, et nous voulons que ce soit une chaîne.
‫Donc, Mongoose utilise en fait les
‫types de données JavaScript natifs, et donc ici, nous pouvons
‫dire chaîne, ou après évaluation, nous pouvons dire que nous voulons
‫un nombre et le même que le prix.
‫Cela devrait aussi être un nombre, non?
‫C'est donc la façon la plus basique de décrire nos données.
‫Nous avons donc un nom, une note et un prix,
‫et nous avons spécifié le
‫type de données que nous attendons pour chacun de ces champs.
‫Encore une fois, c'est la
‫manière la plus basique de décrire un schéma, mais
‫nous pouvons aller plus loin en définissant quelque
‫chose appelé options de type de schéma pour chaque
‫champ, ou uniquement pour un champ spécifique.
‫Commençons donc ici par le nom,
‫et au lieu de
‫simplement le spécifier sous forme de chaîne, passons en fait un autre objet.
‫Et maintenant, nous disons que nous voulons que le type
‫soit une chaîne, mais
‫nous pouvons maintenant définir quelques options supplémentaires, d'accord ?
‫Par exemple, nous pouvons dire que ce champ est obligatoire, et donc
‫nous définissons
‫simplement la propriété requise ici sur true, d'accord ?
‫Encore une fois, cet objet ici sont les options de type de schéma,
‫et elles peuvent être différentes pour différents types,
‫par exemple le type de nombre
‫a des options de schéma différentes de la chaîne
‫ici, mais beaucoup d'entre elles sont également similaires.
‫Ainsi, par exemple, le requis, nous
‫pouvons également l'utiliser sur le numéro, et faisons-le ici.
‫Donc le type, on veut toujours que
‫ce soit un nombre, et on veut aussi qu'il soit obligatoire, d'accord ?
‫Maintenant, ici, dans le champ requis,
‫nous pouvons réellement spécifier l'erreur que nous voulons afficher
‫lorsque ce champ nous manque.
‫Donc, pour ce faire,
‫il suffit de passer un tableau, et le premier est vrai.
‫Ainsi, le premier élément est vrai et
‫le second est la chaîne d'erreur.
‫Disons qu'une tournée doit avoir un nom, et puis ici faisons
‫la même chose.
‫La visite doit avoir un prix, d'accord ?
‫Ensuite, nous pouvons également définir des
‫valeurs par défaut et faisons-le ici pour la note.
‫Donc encore une fois, je
‫vais spécifier quelques options de type de schéma ici, ce qui
‫n'est pas obligatoire, il suffit donc de définir
‫simplement le type ici comme nous l'avons fait, mais
‫si vous voulez plus de fonctionnalités, alors
‫nous devons au moins spécifier le schéma type d'objet d'options.
‫D'accord, puis nous devons à nouveau spécifier le type, qui est le nombre, et
‫par défaut, je veux qu'il soit 4. 5.
‫Et donc si nous créions maintenant un nouveau document
‫de tournée en utilisant ce schéma et sans spécifier la note,
‫il serait alors automatiquement défini sur 4. 5, d'accord ?
‫Et pour finir, essayons-en un autre ici, c'est-à-dire
‫que le nom doit être unique.
‫Alors, unique et définissez-le sur true, et ainsi, nous
‫pouvons maintenant avoir deux
‫documents de tournée avec le même nom, d'accord ?
‫Donc, c'est notre schéma très basique,
‫allons-y maintenant et créons
‫un modèle à partir de celui-ci, d'accord ?
‫Et c'est
‫très simple, nous créons simplement une variable
‫appelée Tour, puis mangouste. model, puis le nom
‫du modèle, qui est Tour avec un T majuscule
‫ici, d'accord.
‫Et donc c'est juste une sorte
‫de convention en programmation pour toujours utiliser des majuscules
‫sur les noms de modèles et les variables.
‫Donc ici c'est la même chose, donc j'ai aussi
‫créé cette variable de tournée ici avec un T majuscule juste pour
‫que nous sachions que nous avons affaire à un modèle ici.
‫D'accord, donc le
‫nom du modèle et ensuite le schéma, et c'est tout.
‫Donc, juste comme ça, nous avons créé
‫une visite guidée du schéma que nous avons créé ici au début.
‫D'accord, et donc dans
‫la vidéo suivante, nous allons utiliser ce
‫modèle ici afin de créer notre tout premier document de visite, d'accord ?
‫Donc juste un récapitulatif ici, nous avons utilisé une nouvelle mangouste. Schéma ici pour
‫spécifier un schéma pour nos données.
‫Donc, essentiellement en le décrivant et en faisant également une certaine validation.
‫Par exemple, ceci requis ici,
‫c'est en fait quelque chose appelé un validateur car
‫il est utilisé pour valider nos données.
‫Dans ce cas, il suffit de valider
‫si le nom est bien là.
‫Et il y a beaucoup de validateurs dans Mongoose,
‫et nous pouvons également créer les nôtres, et bien
‫sûr, nous en reparlerons un peu plus
‫tard, encore une fois, une fois que nous aurons réellement besoin de ces fonctionnalités.
‫Quoi qu'il en soit, passons maintenant rapidement afin de
‫pouvoir enfin commencer à utiliser le modèle
‫que nous venons de créer.