Le cours Express.js - Module 6 : opérations CRUD avec une manguste | Shivendra Raghuvanshi | Skillshare
Recherche

Vitesse de lecture


1.0x


  • 0.5x
  • 0.75x
  • 1 x (normale)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Le cours Express.js - Module 6 : opérations CRUD avec une manguste

teacher avatar Shivendra Raghuvanshi, Lead Developer and Online Teacher

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Regardez ce cours et des milliers d'autres

Bénéficiez d'un accès illimité à tous les cours
Suivez des cours enseignés par des leaders de l'industrie et des professionnels
Explorez divers sujets comme l'illustration, le graphisme, la photographie et bien d'autres

Leçons de ce cours

    • 1.

      Introduction du cours

      2:47

    • 2.

      Débuter avec MongoDB

      2:17

    • 3.

      Installer MongoDB pour Node.js

      5:01

    • 4.

      Connexion de Node.js à MongoDB

      4:14

    • 5.

      Concevoir des schémas de données avec Mangouste

      3:55

    • 6.

      Créer et utiliser des modèles de mangoustes

      4:46

    • 7.

      Données persistantes avec Mangose

      3:42

    • 8.

      Maîtriser les requêtes manguste

      4:31

    • 9.

      Opérateurs de comparaison de requêtes Mongoose

      5:13

    • 10.

      Opérations logiques dans les requêtes Mangouste

      2:07

    • 11.

      Maîtriser les expressions régulières dans MongoDB

      3:24

    • 12.

      Mettre en œuvre la pagination avec une manguste

      0:49

    • 13.

      Modèles de mise à jour de mangues : approche de première demande

      1:47

    • 14.

      Les modèles de mangoustes : première approche à mettre à jour

      4:01

    • 15.

      Compter des documents avec une mangouste

      6:18

    • 16.

      Supprimer des documents dans Mangose

      3:07

  • --
  • Niveau débutant
  • Niveau intermédiaire
  • Niveau avancé
  • Tous niveaux

Généré par la communauté

Le niveau est déterminé par l'opinion majoritaire des apprenants qui ont évalué ce cours. La recommandation de l'enseignant est affichée jusqu'à ce qu'au moins 5 réponses d'apprenants soient collectées.

13

apprenants

--

projet

À propos de ce cours

Bienvenue dans le module 6 : opérations CRUD avec une manguste ! Dans ce module, nous combinerons la puissance d'Express.js avec MongoDB, l'une des bases de données NoSQL les plus populaires. En utilisant Mongoose, une puissante bibliothèque de modélisation de données objet (ODM), vous apprendrez à interagir efficacement avec MongoDB pour effectuer des opérations CRUD (créer, lire, mettre à jour, supprimer).

Vous commencerez par connecter votre application Node.js à MongoDB et par concevoir des schémas robustes pour structurer vos données. Au fur et à mesure de vos progrès, vous vous plongerez dans les requêtes Mongoose, vous apprendrez à utiliser les opérateurs et les conditions logiques, à mettre en œuvre la pagination et à découvrir les meilleures pratiques pour mettre à jour et supprimer des documents.

À la fin de ce module, vous aurez une compréhension approfondie de MongoDB et de Mongoose, ce qui vous permettra de créer facilement des applications dynamiques et axées sur les données.

Rencontrez votre enseignant·e

Teacher Profile Image

Shivendra Raghuvanshi

Lead Developer and Online Teacher

Enseignant·e
Level: All Levels

Notes attribuées au cours

Les attentes sont-elles satisfaites ?
    Dépassées !
  • 0%
  • Oui
  • 0%
  • En partie
  • 0%
  • Pas vraiment
  • 0%

Pourquoi s'inscrire à Skillshare ?

Suivez des cours Skillshare Original primés

Chaque cours comprend de courtes leçons et des travaux pratiques

Votre abonnement soutient les enseignants Skillshare

Apprenez, où que vous soyez

Suivez des cours où que vous soyez avec l'application Skillshare. Suivez-les en streaming ou téléchargez-les pour les regarder dans l'avion, dans le métro ou tout autre endroit où vous aimez apprendre.

Transcription

1. Introduction du cours: Bienvenue au module 6 d'ExpressJCurse, les opérations de crédit avec Mongoose Il s'agit d'un cours complémentaire de la série de cours Express JS. Je m'appelle Shawn Aguanhi, vous êtes l'instructeur de ce voyage passionnant dans le monde de Mongo Après avoir créé de nombreuses applications basées sur les données, je peux vous dire que la maîtrise de Mongo Dew est une compétence essentielle pour les développeurs modernes de Bend, et les mangos le rendent incroyablement puissant Dans ce module, nous nous intéressons en profondeur à Mongo DB et aux mangos Voici ce que vous allez apprendre à connecter votre application NurJS à MongoDB en concevant schémas de données efficaces et flexibles Ensuite, créez, lisez, mettez à jour et supprimez des données à l'aide de modèles mangos, maîtrisant les requêtes avancées, notamment les opérateurs, les conditions logiques et les expressions régulières Ensuite, vous apprendrez à implémenter fonctionnalités telles que la pagination et le comptage de documents Enfin, vous découvrirez les meilleures pratiques en matière de gestion et de mise à niveau de votre base de données. Cette classe est parfaite pour les développeurs qui souhaitent intégrer Mongo DB dans leurs applications sans JS Si vous avez terminé les modules précédents sur les ABI restful et Express Js, nous sommes prêts à commencer Aucune expérience préalable avec MongoDB n'est requise. Nous partirons de l'essentiel et passerons progressivement à des sujets plus complexes. À la fin de ce module, vous aurez les compétences nécessaires pour créer des applications robustes basées sur les données. Que vous créiez un petit projet personnel ou une application de production à grande échelle. MongoDB et Mongoose vous apporteront la flexibilité et l'efficacité dont vous avez besoin pour réussir Enfin, dans ce module, notre projet est construit autour d'une application autonome appelée Mongo Demo Ce projet comprend trois exercices ciblés au cours desquels vous allez concevoir des schémas et des modèles Mongoo pour structurer efficacement vos données, écrire et exécuter des opérations participatives pour gérer les données de manière dynamique, et mettre en œuvre des techniques avancées telles que le filtrage des requêtes, pagination et la mise à jour de documents selon les modèles standard du secteur Ces exercices vous aideront à travailler avec Mongo Deb et mangos en toute confiance , vous préparant à gérer des opérations de données complexes dans des applications réelles J'ai hâte de t'aider à maîtriser Mongo Di Bi et la mangouste. Plongeons-nous dans le vif du sujet et commençons. Rendez-vous à la première conférence. 2. Débuter avec MongoDB: Bien, revenons à notre application Fairwheels. Jusqu'à présent, nous avons stocké la liste des entreprises dans un tableau en n'est pas ainsi que nous créons des applications du monde réel, car lorsque le serveur redémarre, nous perdons toutes les données en mémoire C'est pourquoi nous devons stocker nos données dans une base de données. Maintenant, comme je vous l'ai déjà dit, lorsque vous créez des applications avec Node et Express, vous disposez d'un grand nombre d'options en termes de base de données que vous souhaitez utiliser. Dans ce cours, nous allons utiliser Mongo DB car c'est un système de gestion de base de données très populaire, et il est assez souvent utilisé dans les applications créées avec Node et Express Donc, si nous n'avons jamais travaillé avec Mongo DB auparavant, ne vous inquiétez pas Vous allez l' apprendre petit à petit ou dans les prochaines sections. Maintenant, juste pour définir les bonnes attentes, Mongo be a vraiment besoin de sa propre voie Vous ne serez donc pas un expert de Mongo Be à la fin de ce cours, mais vous en apprendrez suffisamment pour faire le travail Maintenant, si nous n'avons jamais travaillé avec Mongo DB auparavant, Mongo DB est essentiellement ce que nous appelons un document ou aucune base de données SQL Elle est différente des bases de données relationnelles traditionnelles telles que SQL Server ou MySQL, etc. Ainsi, dans Mongo B, nous n' avons pas le concept de tables, de schémas, de vues, d'enregistrements, de colonnes. C'est différent Contrairement aux bases de données relationnelles, pour lesquelles vous avez conçu votre base de données à l'avance, dans Mongo DB, le schéma ou le design n'existent pas Stockez simplement vos objets JCN dans Mongo DB. Nous avons donc ici un éventail d'entreprises. Nous pouvons simplement stocker tous les objets de ce tableau et une collection dans Mongo DB, aussi simple que cela Cela signifie également que lorsque nous interrogeons nos données, nous extrayons des objets JCN de Mongo DB, et nous pouvons simplement renvoyer ces objets au client Il n'y a donc aucune transformation. C'est une introduction suffisante à Mongo DB. Ensuite, je vais vous montrer comment l' installer sur votre machine. 3. Installer MongoDB pour Node.js: Dans cette conférence, je vais vous montrer comment installer Mongo DV sous Windows Ouvrez donc votre navigateur et rendez-vous sur mongodv.com. Sur cette page, en haut à gauche, cliquez sur le produit, puis ici, sélectionnez l'option Ajout à la communauté. Il s'agit du serveur Mongo DV que nous exécutons sur cette machine. Faites défiler la page vers le bas, vérifiez la version et assurez-vous que Windows est sélectionné. Téléchargez maintenant ce MSI. Alors, sauvegardons ça. C'est bon. Et maintenant, exécutons-le. Cliquez quand même sur installer. Cela nous donne donc un installateur très simple. Allons-y. Acceptez ensuite le contrat de licence. Ensuite, effectuez une installation complète. Encore une fois, maintenant, sur cette page, il y a une case à cocher ici Installez MongoivKmpas. Il s'agit des données de l'application client que nous utilisons pour nous connecter à notre serveur MongoDB Nous examinons nos bases de données. Ensuite, installez Très bien, Mongo DB est installé. Et notre boussole Mongo DB est également lancée, nous en reparlerons plus tard Ouvrons maintenant l'explorateur de fichiers et passons à Program Files, puis à Mongo DB. Serveur suivant. Maintenant, la version que j'utilise est 7.0. y a de fortes chances qu'à l'avenir, lorsque vous regarderez ce film, la version soit différente. Sélectionnez donc ce dossier , puis Ben et enfin Mongo D. Il y a Mongo Damon, un service qui s' exécute en arrière-plan Et il s'agit essentiellement de notre serveur de base de données Mongo. Maintenant, je veux que vous choisissiez ce chemin ici. Maintenant, dans la barre de recherche, recherchez les paramètres système avancés. Sur cette page, nous devons accéder aux variables d'environnement ici. Ensuite, dans cette liste de variables système, sélectionnez Chemin, cliquez sur Modifier, puis sur Nouveau. Et nous suivons ici le chemin que nous avons copié plus tôt. Il s'agit du chemin d'accès au répertoire qui contient notre serveur Mongo DV OK ? Maintenant, sur cette page, sélectionnez également OK. Jan. Maintenant, ouvrez PowerShell et lancez Mongo D. Si vous ne voyez pas ce résultat et que vous obtenez un message d'erreur tel que Mongo D n'est pas reconnu, vous devez redémarrer Fermez donc toutes les fenêtres PowerShell actuellement ouvertes sur votre machine, puis ouvrez-la Ainsi, lorsque vous exécutez Mongo D, vous devriez voir une sortie comme celle-ci Par défaut, vous allez recevoir un message d'erreur. Donc, regardez, nous avons cette exception : répertoire de données de chemin inexistant, C, données de barre oblique inverse de colonne, barre oblique inverse, TV introuvable Donc, par défaut, Mongo DV stocke vos données dans ce dossier. Créons donc ce dossier. MKDIR, données de barre oblique inversée en C, deux-points, barre oblique inverse TV. OK. Maintenant, lançons Mongo E une fois de plus. Cette fois, nous n'avons pas cette exception. Et le dernier message attend les connexions sur le port 27017 Cela vérifie donc que le serveur Mongo DV est en cours d'exécution. Nous pouvons maintenant passer à Mongo DV Compass. Voici donc la page pour commencer. Il s'agit de se connecter à l'hôte. Nous devons spécifier le serveur Mongo DV auquel nous voulons nous connecter Laissez donc les valeurs par défaut telles quelles. Le nom d'hôte est donc local host et le port est 27017. Maintenant, connectons-nous. Magnifique. Nous sommes connectés avec succès à notre serveur Mongo DV Par défaut, nous avons donc trois bases de données, Local, Armin et Config C'est pour que MongoTV fasse son travail. Nous n'allons pas travailler avec ces bases de données. 4. Connexion de Node.js à MongoDB: D'accord. Créons maintenant un nouveau projet pour cette section. Je vais donc créer un nouveau dossier appelé Mongo Demo. Allons dans ce dossier et exécutons NVM dedans avec un drapeau américain. Magnifique. Nous devons maintenant installer un paquet de nœuds appelé Mongoose Mongoose nous fournit un EPI simple pour travailler avec une base de données Mongo DB OK, vous pouvez donc voir qu'au moment de l'enregistrement de cette vidéo, j'utilisais la version 7.5 0.0 de Mongos Donc, si vous voulez vous assurer d'avoir la même expérience que je vais vous montrer dans cette vidéo, je vous encourage vivement à installer exactement la même version. Bien, ajoutons un nouveau fichier ici, index point JS. La première chose à faire est de nous connecter à Mongo Deb. Nous allons donc charger ce module mangos. Et rangez-le dans les pongos constants. Maintenant, cet objet possède une méthode appelée connect. Nous l'utilisons pour nous connecter à Mongo DB. Maintenant, nous passons ici une chaîne de connexion qui est Mongo DB, Allan 127.0 0.0 0.1. Colonne 27017. Cela fait référence au Mongo DV que nous avons installé sur cette machine Lorsque vous souhaitez déployer votre application dans un environnement de production, vous devez disposer d'une chaîne de connexion différente pour la production. Plus tôt dans cette section consacrée à Express, je vous ai expliqué comment gérer différents paramètres de configuration pour différents environnements. Dans cette vidéo, nous n' abordons pas ce niveau de complexité. J'ai donc codé en dur une chaîne de connexion ici. Mais dans une application réelle, votre chaîne de connexion doit provenir d'un fichier de configuration. Voici donc notre serveur de base de données Mongo. Ensuite, nous ajoutons le nom de notre base de données. Dans ce cas, je vais utiliser une simple base de données de terrain de jeu. Maintenant, nous n'avons pas créé cette base de données, et cela n'a pas d'importance. La première fois que nous écrivons quelque chose dans cette base de données, Mongo E B créera automatiquement cette base de données pour nous OK, voici comment nous nous connectons à une base de données Mongo I B. Maintenant, cette méthode de connexion renvoie une promesse. Nous pourrons donc les appeler lorsque cette promesse sera remplie. Cela signifie que nous nous sommes connectés à une base de données Mongo Eb. Ici, nous pouvons créer un simple journal de points sur console connecté à Mongo I B. Et d'ailleurs, j' utilise ici le journal de points Tensole pour Comme je vous l'ai dit dans la section sur Express, dans une vraie application, il est préférable d'utiliser le module de débogage, car cela vous permet de mieux contrôler la quantité de messages de débogage que vous souhaitez voir Mais dans cette section, nous ne voulons pas nous laisser distraire par trop de complexité Nous voulons simplement nous concentrer sur Mongo DB. C'est donc pour le scénario où nous nous connectons avec succès à une base de données Mongo IB Mais que faire si quelque chose ne va pas ? Nous voulons corriger cette erreur. Ici, nous obtenons un objet d'erreur , puis nous l' affichons sur la console. Donc, erreur de point de console. Connexion à MangiibFail. Ensuite, nous ajoutons l'objet d'erreur. Magnifique. Maintenant, lançons cette application. Donc, de retour dans le terminal, point d'index de la lune nord JS. Nous pouvons donc voir que nous sommes connectés avec succès à Mongerib. 5. Concevoir des schémas de données avec Mangouste: Nous nous sommes donc connectés à notre base de données Mongo DB. La prochaine chose que nous devons faire est de créer un schéma. Nous utilisons un schéma pour définir la forme des documents au sein d'une collection dans Mongo DB. Qu'est-ce que je veux dire par là ? Eh bien, revenons à notre boussole Mongo DB. J'ai créé cette base de données ici, Ground. Et dans cette base de données, nous avons cette collection appelée cours. Une collection dans Mongo DB est comme une table dans une base de données relationnelle Maintenant, dans cette collection Curses, nous avons trois documents Un document dans Mongo IB est un peu similaire à une ligne dans une base de données relationnelle Dans les bases de données relationnelles, nous avons donc des tables et des lignes Dans Mongo DB, nous avons des collections et des documents. Jetons maintenant un coup d' œil à cette collection. Voici donc un exemple du document. Chaque document est un conteneur de paires clé-valeur. Nous avons donc ici un identifiant de soulignement, qui est un identifiant unique. Pour chaque document, nous avons des balises, qui sont un tableau de paires clé-valeur. Nous avons le nom, l'auteur, publication, la date et la version. Maintenant, ne vous inquiétez pas de la façon dont je l'ai créé. Vous allez l'apprendre au cours des prochaines conférences. Maintenant, dans Mongoose, nous avons ce concept appelé schéma. Ceci est juste spécifique à la mangouste. Il ne fait pas partie de Mongo DB. Nous utilisons un schéma dans Mongoose pour définir la forme des documents dans une collection Mongo DB Nous l'utilisons donc pour définir les propriétés que nous avons dans ce document. Maintenant, je vais vous montrer comment créer un schéma. Donc, de retour dans le code VS, définissons une constante, appelons-la schéma de cours. Ce schéma définit la forme des documents de cours dans notre base de données Mongo DB Nous avons donc défini cela sur une nouvelle classe de schéma Mongoose. Ici, lors de la création d'une instance de cette classe, nous transmettons un objet. Et dans cet objet, nous indiquons les paires clé-valeur que nous devrions avoir dans les documents de cours. Vous voulez donc que chaque cours ait une propriété de nom, et le type de cette propriété doit être une chaîne. De même, chaque cours doit avoir un auteur de type chaîne. Je veux que nos cours contiennent X. Et ici, je veux avoir un ensemble de chaînes. Techniquement, lorsque cela est stocké, chaque objet de ce tableau sera une paire clé-valeur. La clé sera l'index et la valeur sera cette chaîne. Maintenant, je veux aussi que chaque cours ait une propriété de date de type date. Maintenant, nous pouvons également lui donner une valeur par défaut, afin de pouvoir la changer de date en objet. Cet objet est une propriété de type que nous avons définie à date, et il possède également une propriété appelée default, et nous l'avons définie sur date point maintenant. Ainsi, il n'est pas nécessaire de spécifier une date lors de la création d'un objet de cours. Date qui sera désormais utilisée comme valeur par défaut pour cette propriété. Enfin, je veux que chaque cours possède une propriété appelée I published, qui serait une valeur booléenne Voici donc la liste des types que nous pouvons utiliser lors de la création d'un schéma. Nous avons une chaîne, un nombre, une date, un tampon, que nous utilisons pour stocker des données binaires, un booléen, un identifiant d'objet, qui est utilisé pour attribuer des identifiants uniques et un tableau Ensuite, je vais vous montrer comment créer et enregistrer un document en fonction du schéma du cours. 6. Créer et utiliser des modèles de mangoustes: Voici donc notre schéma de cours qui définit la forme des documents de cours dans une base de données Mongo De Maintenant, nous devons le compiler dans un modèle. Qu'est-ce qu'un modèle ? Eh bien, plus tôt dans le cours, j'ai parlé du concept de classes et d'objets. Donc, à titre d'exemple, je vous ai dit que nous pouvons avoir une classe appelée humaine, nous pouvons avoir un objet comme Shen. Un objet est donc une instance d'une classe. Une classe n'est qu'un plan, mais un objet est un instant de ce plan Maintenant, dans cette application, nous voulons avoir une classe appelée cours. Ensuite, nous devrions être en mesure de créer des instances de cette classe, comme un cours de nœuds. Ensuite, nous pouvons enregistrer ce cours de nœud dans notre base de données. Donc, pour créer une classe comme un cours, nous devons compiler ce schéma dans un modèle. Voici donc comment nous procédons. Cet objet Mongoose que nous avons possède une méthode appelée model qui prend deux arguments Le premier argument est le nom singulier de la collection à laquelle ce modèle est destiné. Donc, dans notre base de données Mongo EB, vous voulez avoir une collection appelée cours, n'est-ce pas ? Voici donc un cours sur les noms singuliers. Le deuxième argument est un schéma qui définit la forme des documents de cette collection. C'est donc le schéma du cours. Maintenant, avec cela, nous obtenons un cours dans notre application. Nous pouvons donc définir cela sur une constante appelée course. Et notez qu'ici j'utilise la convention de dénomination Paceal. La première couche est donc bien sûr en majuscules, ce qui signifie qu'il s'agit d'une classe. Ce n'est pas un objet. Nous pouvons maintenant créer un objet basé sur cette classe. Créons donc un objet de cours. Et ici, j'utilise notation majuscule camel parce que la première lettre du premier mot, dans ce cas, bien sûr, est en minuscules Nous utilisons donc Camel case pour nommer nos objets et pacelcase pour nommer Donc, dans ce cours, nous l'avons défini sur un nouveau cours, et dans cette fonction constructeur, nous passons un objet, initialisons notre objet de cours Définissons donc les propriétés de ce cours. Je vais donner le nom au cours Express JS. Configurez l'auteur sur Shiv in. Définissez le texte sous la forme d'un tableau de deux chaînes. Nous pouvons donc avoir Express et, disons, y répondre. Maintenant, c'est une chose intéressante à propos des bases de données Mango or No SQL en général. Vous pouvez voir qu'un document dans Mongo DB peut être un objet complexe Donc, ici, cette propriété de balise est un tableau de chaînes. Nous n'avons rien de tel dans les bases de données relationnelles En d'autres termes, une ligne d' une base de données relationnelle possède des attributs simples Si vous souhaitez modéliser cette structure dans une base de données relationnelle, vous avez besoin de trois tables, de cours, de balises et d'une table intermédiaire appelée balises de cours, car nous avons ici un trop grand nombre de relations entre les cours et les balises Mongo IB ou aucune base de données SQL en général, nous n'avons pas cette structure Il n'est pas nécessaire de définir ces tables. Nous n'avons pas besoin de les scénariser. Nous créons simplement nos objets et les stockons dans une base de données. C'est pourquoi nous les appelons schema less. Ils n'ont pas de schéma. Voici donc notre propriété fiscale. Maintenant, l'autre propriété que nous avons est la date. Mais plus tôt, j'ai défini cela comme ayant une valeur par défaut. Je ne vais donc pas définir cela ici, et la dernière propriété est publiée. Je vais régler ça aussi, c'est vrai. Récapitulons donc rapidement. Une fois que nous avons un schéma, nous devons le compiler dans un modèle, ce qui nous donne une classe. Ensuite, nous pouvons créer un objet basé sur cette classe. Et cet objet correspond à un document d'une base de données Mongo DB Ensuite, je vais vous montrer comment enregistrer ce document dans notre base de données. 7. Données persistantes avec Mangose: C'est bon. Voici donc notre objet de cours qui correspond à un document de cours dans Mongo DV Maintenant, enregistrons ceci dans notre base de données. Cet objet de cours possède donc une méthode appelée save. Nous avons maintenant affaire à une opération asynchrone car l'enregistrement de ce cours dans la base de données va prendre un certain temps car nous allons accéder au système de fichiers C'est pourquoi nous avons affaire à une opération asynchrone. Le résultat de cette opération sera prêt dans le futur. Cette méthode renvoie donc une promesse. Nous pouvons le piloter et obtenir le résultat. Ce résultat correspond à l'objet de cours réellement enregistré dans la base de données. Ainsi, lorsque nous enregistrons ce cours dans Mongo DB, Mongo DB attribuera un identifiant unique à objet de cours avec ce document de cours Maintenant, avec cela, nous pouvons voir l'IRE attribué par Mongo DB Enregistrons-le donc dans le résultat de la console. Comme je vous l'ai déjà dit, chaque fois que j'utilise un poids, votre code doit être dans une fonction asynchrone Je vais donc définir une fonction ici, st, create course. Nous lui avons attribué une fonction d'erreur de synchronisation comme celle-ci et avons mis tout ce code dans cette fonction. Nous créons donc un objet de cours, enregistrons, puis nous affichons le résultat sur la console. Et enfin, nous appelons ici create Curse. Enregistrer. Maintenant, de retour dans le terminal, dans cette section, je vais exécuter cette application en utilisant Node au lieu de norm car sans personne, chaque fois que je modifie simplement le code, cela entraînera la création d' un nouveau document dans notre base de données Mongo DB Le point d'index du nœud est donc. Magnifique. Notre cours a été enregistré dans la base de données, et voici le document qui est réellement stocké dans notre base de données Mongo. Écoutez, Mongo DB a attribué cet ID de soulignement de propriété, et il est défini sur cet identifiant unique Revenons maintenant à la boussole Mongo DB. Rafraîchissons-le donc ici. Voici notre base de données de terrains de jeu. Nous avons cette collection de cours, et dans cette collection, nous avons un seul document, n'est-ce pas ? C'est donc une beauté des bases de données Mongo DB ou Nose EQUL. Contrairement aux bases de données relationnelles, nous n'avons pas eu à créer de table. Nous n'avons pas eu à écrire ce tableau par script. Il vous suffit de créer un document et de le stocker dans nos données Mongo DB De retour au tableau, modifions ces valeurs et créons un autre document. Parce que dans la prochaine conférence, je vais vous montrer comment interroger des documents. Passons donc au cours ReactJS, et nous ajoutons deux balises, react point js et front end Enregistrer. De retour dans le terminal, arrêtons ce processus et exécutons à nouveau cette application. Voici notre deuxième document. Et si vous regardez dans MongoivKmpas, actualisons le résultat Écoutez, nous avons deux documents dans notre collection de cours. Magnifique. Ensuite, je vais vous montrer comment interroger des documents. 8. Maîtriser les requêtes manguste: Très bien maintenant, laissez-moi vous montrer comment générer des documents à partir d'une base de données Mong Wo DV Donc ici, je vais créer une autre fonction Pas G courses. Nous l'avons dit à la fonction d'erreur asynchrone. Ensuite, je vais remplacer l'appel à créer un cours par des cours G. Implémentons maintenant cette fonction. Cette classe de cours que nous avons définie précédemment propose donc un ensemble de méthodes pour interroger des documents Nous avons trouvé une liste de documents. Nous avons trouvé par identifiant, ce qui est assez explicite. Et nous en avons trouvé un qui renvoie un seul document. Nous avons maintenant quelques autres méthodes intéressantes ici, mais ne vous inquiétez pas pour elles. Nous les utilisons pour trouver un document , puis pour le supprimer ou le mettre à jour. Nous les examinerons plus loin dans cette section. Regardons donc la bonne méthode. Comme vous pouvez le constater, cette méthode renvoie une option de requête de document. Maintenant, cet objet de requête de document est un peu comme une promesse. Il a donc une méthode alors, afin que nous puissions l'éviter et obtenir le résultat. Et avec cela, nous obtenons tous les cours dans notre base de données. Affichons-le donc sur la console. Revenez maintenant dans l'index du nœud terminal vers Js. Alors regardez, nous obtenons un tableau avec deux objets. Voici notre premier cours, c'est le cours express, et voici le deuxième cours. C'est la réaction au cours de G. Magnifique. Maintenant, nous pouvons également passer un filtre ici. Ainsi, comme premier argument de la méthode fine, nous passons un objet, et dans cet objet, nous ajoutons une ou plusieurs paires clé-valeur pour le filtrage. Supposons donc que nous voulions suivre uniquement les cours de Sheven. Nous avons donc défini l'auteur sur Sheven, nous pouvons transmettre une autre propriété. Un autre filtre est publié via. Ainsi, avec ce filtre, nous n'obtenons que les cours publiés par couture, et c'est ainsi que nous arrivons aux documents Mais ici, nous pouvons également trier nos documents. Nous pouvons fixer une limite au nombre de documents renvoyés. Nous pouvons également sélectionner des propriétés spécifiques dans le document. Supposons que notre cours contienne 50 propriétés, peut-être que nous ne voulons pas rendre toutes ces propriétés au client, peut-être que vous voulez renvoyer uniquement leur nom. Je vais donc vous montrer comment créer une requête plus complexe. Plus tôt, vous avez vu que cette méthode fine renvoie un objet de requête de document. Écoutez, une demande de document, n'est-ce pas ? Nous pouvons donc ici personnaliser cette requête. Nous pouvons appliquer une limite. Disons que nous pouvons trier les documents. Ici, nous passons un objet. Et dans cet objet, nous ajoutons une ou plusieurs paires clé-valeur pour le tri. Supposons donc que nous voulions trier ces documents par leur nom. Nous avons défini le nom sur un. L'un indique l'ordre croissant. Nous voulons trier ces documents par ordre décroissant, vous utilisez moins un Comme je vous l'ai dit, vous pouvez avoir plusieurs paires clé-valeur ici. Nous avons également une autre méthode de sélection , qui nous permet de sélectionner les propriétés que nous voulons renvoyer. Supposons, par exemple, que nous voulions uniquement obtenir le nom et la propriété fiscale de chaque document de cours. Nous avons donc défini le nom à un et le texte à un également. Exécutons maintenant cette application, retour dans le nœud terminal, indexez Js. Alors regardez, les objets de cours que nous obtenons n'ont maintenant que trois propriétés. Marquez le nom, nous avons sélectionné ces deux propriétés, mais nous obtenons également la propriété ID sous-jacente attribuée par défaut par Mongo DB De plus, ces documents sont triés par leur nom dans l'ordre décroissant Le cours React GS passe donc en premier, même si nous l'avons créé plus tard. C'est ainsi que nous créons des requêtes. Dans la prochaine conférence, je vais vous montrer comment effectuer un filtrage plus complexe. 9. Opérateurs de comparaison de requêtes Mongoose: Ainsi, lors de la dernière conférence, vous avez appris à utiliser la méthode fine pour filtrer les documents. Dans les prochaines conférences, je vais vous montrer comment créer des requêtes plus complexes. Maintenant, si vous n'avez jamais travaillé avec Mongadb auparavant, vous trouverez la syntaxe que nous utilisons pour créer des requêtes, un peu inhabituelle ou étrange, et je le comprends parfaitement parce que j'y suis déjà allé Mais dans cette conférence, je vais vous montrer une technique qui rappelle cette syntaxe, et vous vous rendrez compte que c'est en fait très simple. Le sujet de cette conférence porte donc sur les opérateurs de comparaison. Ainsi, dans Mongo DV, nous avons un tas d'opérateurs pour comparer des Comme Mongoose est construit sur le driver Mongo DV, ces opérateurs standard que Mongo Dee comprend, sont également Voici donc les opérateurs de comparaison que nous avons dans Mongo DB. Nous avons EQ, qui est l'abréviation de égal, nous avons NE, qui est l' abréviation de pas égal Nous avons GT, qui est l' abréviation de supérieur à GTE, qui est l'abréviation de supérieur ou égal à. De même, nous avons LT, qui est l'abréviation de moins de. Nous avons le LTE, qui est l' abréviation de moins ou égal à. Nous avons également N et NIN , abréviation de « not N ». Maintenant, pour les besoins de cette conférence, imaginons que nos cours aient une propriété de prix. Je vais commenter cette belle méthode. Supposons que nous voulions suivre tous les cours à 10$. Comment s'y prend-on ? Nous disons donc « très bien », nous passons un objet à filtrer, fixons le prix à dix, sorte que seuls les cours de 10$ soient renvoyés. Et si nous voulions des cours de plus de 10$ ? Comment pouvons-nous exprimer cela en utilisant des objets JCN en JavaScript ? Eh bien, vous savez qu' en JavaScript, un objet est essentiellement une collection de paires clé-valeur. Donc, ici, notre clé est le prix et notre valeur est dix. Avec une valeur simple, nous ne pouvons pas exprimer un concept supérieur ou supérieur à dix. Donc, pour exprimer le concept de plus de dix, nous devons transmettre un objet. Ici, cet objet est à nouveau un conteneur pour les paires clé-valeur. Maintenant, je peux utiliser l'un de ces opérateurs comme clé. Permettez-moi d'utiliser un opérateur supérieur à ici. Do sine indiquera qu'il s'agit d'un opérateur. GT supérieur à, et nous avons fixé cette valeur à dix. Alors voyez ce que j'ai fait. J'ai remplacé une valeur simple comme dix par un objet pour exprimer un concept, le concept supérieur à dix. Nous pouvons maintenant changer cet opérateur pour qu'il soit supérieur ou égal à. Si vous voulez également des cours dont le résultat est de 10$. Passons au niveau suivant. Et si nous voulions suivre des cours de 10 à 20$ ? Encore une fois, nous pouvons utiliser un autre opérateur, donc inférieur ou égal à 20$. Voici donc comment nous pouvons utiliser ces opérateurs de comparaison pour interroger des documents. Regardons maintenant un autre exemple. Imaginons que nous voulions obtenir des cours 10$, 15$ ou 20$ Je vais donc le recommander. Repartons de zéro. Nous appelons donc find, transmettons un objet à filtrer, fixons à nouveau le prix. Si j'utilise dix, je ne peux comparer l'égalité qu'à dix. n'est pas ce que nous voulons. Nous voulons des cours à 10$, 15$ ou 20$ Nous remplaçons donc cette valeur un objet pour exprimer notre requête. Ici, nous utilisons un opérateur libellé en dollars. Maintenant, qu'est-ce que nous utiliserions comme valeur ? Ici, nous voulons exprimer une requête où les cours coûtent 10$, 15$ ou 20$ Nous avons donc affaire à trois valeurs ici. Quelle construction Javascript utilisons-nous pour exprimer plusieurs valeurs ? Nous utilisons un tableau, non ? Alors dix, 15, 20. Voyez ce que j'ai fait jusqu'ici. Je n'ai rien mémorisé. J'essaie juste de penser logiquement, comment pouvons-nous utiliser la façon dont Script construit pour exprimer un concept afin d'exprimer une requête Voici donc les opérateurs de comparaison. Et lors de la prochaine conférence, nous allons examiner les opérateurs logiques. 10. Opérations logiques dans les requêtes Mangouste: Dans cette conférence, je vais vous montrer comment utiliser les opérateurs de requête logiques. Voici donc notre requête initiale. Nous proposons tous les cours qui répondent à ces critères. Ils sont rédigés par Shevin et publiés. Et si nous voulions obtenir les poses publiées par Shevin ou les cours publiés ? Nous pouvons donc avoir des cours publiés, mais ils ne sont pas rédigés par Chevan C'est là que nous avons besoin de l'opérateur. Voici donc les opérateurs logiques dont nous disposons. Nous avons R et M. Découvrez comment nous pouvons utiliser ces opérateurs. Je vais donc le recommander. Au lieu de cela, nous allons appeler la méthode fine sans aucun filtre. Ensuite, nous appelons la méthode R. Maintenant, voici une question pour toi. Quelle construction de bande Java utilisons-nous pour stocker plusieurs valeurs ? Nous utilisons un tableau, non ? Ici, nous devons passer un tableau, et dans ce tableau, nous ajoutons deux objets. Chaque objet est un filtre, tout comme l'objet filtre que nous passons à la méthode fine. Dans ce premier objet de filtre, nous ajoutons donc l'auteur. Nous l'avons défini sur Shi en une seconde, nous l'avons ajouté publié, et nous l'avons défini sur true. Maintenant, avec cela, nous allons obtenir des cours rédigés par Shevin ou des cours publiés L'opérateur logique N est exactement le même. Mais au lieu d'utiliser la méthode, nous utilisons la méthode. Et avec cela, nous passons un tableau d'objets filtrants. Ceci est maintenant techniquement similaire à la transmission d'un objet filtre à la méthode find. Mais parfois, dans des requêtes plus complexes, vous pouvez trouver une place pour utiliser la méthode N. Ensuite, nous allons examiner les expressions régulières. 11. Maîtriser les expressions régulières dans MongoDB: Pour en revenir à notre requête initiale, dans cet exemple, nous obtenons des cours dont l'auteur est exactement la chaîne. Ici, si nous avons un cours avec des auteurs tels que Shevin ou Shevin a Guanhi, ces cours ne seront Donc, si vous souhaitez mieux contrôler le filtrage des chaînes, vous devez utiliser une expression régulière. Laissez-moi vous montrer comment cela fonctionne. Je vais donc faire un commentaire à ce sujet. Supposons que nous voulions obtenir des cours dont l'auteur commence par Chewn. Voici comment nous écrivons cette requête Donc, trouvez un objet, définissez l'auteur. Maintenant, au lieu de passer une chaîne ici, nous transmettons votre expression régulière. Nous ajoutons donc une barre oblique, nous ajoutons un motif que nous allons modifier dans une seconde, et une autre barre oblique Il s'agit donc d'une syntaxe pour représenter une expression régulière. Maintenant, dans les expressions régulières, nous pouvons utiliser ce caractère en carats pour représenter une chaîne qui commence par quelque chose. Ici, je peux ajouter Shen. Cette expression régulière représente donc une chaîne commençant par Shen. Donc tant que l'autre commence par Shen, peu importe ce que nous avons. Ces cours seront retirés. Et si nous voulions rechercher des cours dont l'auteur se termine par une chaîne donnée ? Disons que cela se termine par Ragan G. Voici comment nous écrivons cette requête Bien, en tant qu'objet, nous avons défini à l'auteur une expression régulière pour un motif de barres obliques Et le modèle que nous utilisons ici est Rugen hi Dasg. Dans les expressions régulières, un sinus de poupée indique la fin d'une chaîne. Nous cherchons donc ici des cours dont l'auteur finit par abonci Désormais, cette requête distingue les majuscules et minuscules. Si vous voulez le rendre insensible aux majuscules et minuscules, vous devez ajouter un identifiant à la fin Enfin, examinons le dernier exemple. Et si vous vouliez rechercher des poses dont l'auteur contient le mot navire ? Le changement peut donc être au début. Cela peut être au milieu ou à la fin. Je vais donc vous montrer comment écrire cette requête. Nous appelons donc fine un objet, un auteur, une expression régulière. Voici notre schéma. Point, étoile, point décalé, étoile. Donc, cette étoile dans une expression régulière signifie que nous pouvons avoir zéro ou plusieurs caractères. Peu nous importe quels sont ces personnages. Ainsi, avec ce modèle avec cette expression régulière, nous pouvons avoir zéro ou plusieurs caractères avant ou après le décalage. Et encore une fois, si vous voulez rendre cette affaire insensible, nous avons mis un I à la fin Bien entendu, vous pouvez utiliser des expressions régulières plus complexes. L'explication des expressions régulières JavaScript dépasse le cadre de ce cours. Donc, si vous souhaitez en savoir plus sur les expressions régulières, il suffit de lire un didacticiel sur les expressions régulières JavaScript. 12. Mettre en œuvre la pagination avec une manguste: Dans cette requête, vous filtrez nos cours et vous ne choisissez que leur nom et leurs propriétés fiscales. Donc, si vous exécutez cette application, nous obtenons un ensemble de deux cours. Et chaque cours possède ces trois propriétés. Parfois, nous voulons simplement obtenir le nombre de documents plutôt que les documents eux-mêmes. Donc, si tel est le cas, nous n'avons pas besoin d' utiliser la méthode de sélection. Nous appelons plutôt count, ce qui renvoie le nombre de documents correspondant à ce critère. Donc, de retour dans le terminal, relançons cette application. Écoutez, nous avons deux documents qui correspondent à notre filtre. 13. Modèles de mise à jour de mangues : approche de première demande: Vous avez donc découvert plus tôt cette méthode de limitation. Une méthode qui va de pair avec la méthode des limites est une méthode d'évitement. Et nous l'utilisons pour implémenter la pagination. Laissez-moi vous montrer comment cela fonctionne. Laissez-moi donc définir une constante appelée numéro de page. Cela peut être un, deux, trois, peu importe. Mettons-le donc à deux. Nous avons une autre constante appelée taille de page. Ouais. J'ai donc codé ces chiffres en dur. C'est uniquement pour des raisons de simplicité. Mais dans une application du monde réel, nous transmettons ces valeurs sous forme paramètres de chaîne de requête à des API RESTful. Vous pouvez donc avoir une API pour obtenir la liste des cours. Son point de terminaison peut obtenir des paramètres de chaîne de requête comme celui-ci. Donc, le numéro de page, nous l'avons mis à deux et le format de page, nous l'avons défini à dix. C'est ainsi que cela fonctionne dans le monde réel. Pour l'instant, nous n' avons pas à nous inquiéter à ce sujet . Supprimons donc ceci. Pour implémenter la pagination, nous devons ignorer tous les documents de la page précédente Voici donc la formule. Numéro de page moins une fois la taille de la page. Donc ici, je suppose que le numéro de page commence par un. Donc, plus précisément, il s'agit d'un numéro de page, pas d'un index de page. OK ? Ensuite, nous changeons la limite en taille de page. Cela nous permet d'obtenir les documents sur une page donnée. 14. Les modèles de mangoustes : première approche à mettre à jour: Vous avez donc beaucoup appris sur les documents queering. Dans cette conférence, je vais vous montrer comment mettre à jour des documents dans la base de données Mongo DB Créons donc une nouvelle fonction. Donc, dernière mise à jour du cours. Nous l'avons définie sur une fonction d'erreur et elle devrait prendre un identifiant. Donc, en tant qu'ID, le fil R passe à un bloc de coordonnées. Il s'agit de l'identifiant du cours. Nous allons le mettre à jour, puis ici, nous allons le remplacer par un cours de mise à jour. Maintenant, il existe essentiellement deux manières de mettre à jour un document dans MongoIV. L'une des approches est ce que j' appelle « Where you first ». Vous trouvez donc un document utilisant Fine by ID, puis nous modifions ses propriétés. Enfin, appelez la méthode de sauvegarde. C'est probablement l'approche que vous avez utilisée dans d'autres frameworks. Maintenant, l'autre approche est ce que j'appelle d'abord la mise à jour. Ainsi, au lieu de récupérer d'abord un document, nous allons dans la base de données et le mettons à jour directement Maintenant, nous pouvons également souvent obtenir le document mis à jour. Dans cette conférence, je vais donc vous montrer la première approche, et nous examinerons l'autre approche dans la vidéo suivante. Supprimons donc tous ces commentaires. Ici, nous voulons suivre le cours avec un identifiant donné. Alors, bien sûr, point Fine By ID, nous transmettons cet identifiant ici. Maintenant, cela renvoie une promesse, alors on la supprime, on obtient le résultat et on l'enregistre ici. Maintenant, il y a de fortes chances qu' aucun cours n'ait un identifiant donné, nous devons donc vérifier cela. Si nous n'avons pas de cours, nous y retournerons immédiatement. Dans le cas contraire, nous allons améliorer les propriétés de ce cours. Nous pouvons donc définir le point du cours comme étant publié sur true et également sur l'auteur pour un autre auteur. Il existe une autre approche. Au lieu de définir plusieurs propriétés, nous appelons la méthode set. Donc, point fixe. Ici, nous passons un objet avec des paires clé-valeur à mettre à jour. Nous pouvons donc définir si la publication est vraie et l'auteur pour un autre auteur. Donc, fondamentalement, ces deux approches sont identiques. Celui que vous choisissez est purement votre préférence personnelle. Dans cette démo, je vais utiliser la première approche, et enfin, nous appelons la méthode save. C'est la même méthode que celle que nous avons utilisée précédemment, créer un nouveau cours. Il renvoie donc une promesse. Nous pouvons l'attendre, obtenir le résultat et l'afficher sur la console. Donc, résultat du journal à points de la console. Maintenant, je vais retourner à Encompass et obtenir un identifiant de cours valide C'est bon. Dans notre collection de cours, je vais donc récupérer cet identifiant de cours et le coller ici. Maintenant, de retour dans le terminal, lançons ce programme. Voici le cours que nous avons mis à jour. Écoutez, l'auteur est défini sur un autre auteur. Dans la prochaine conférence, je vais vous montrer comment mettre à jour un document directement dans la base de données sans le récupérer au préalable 15. Compter des documents avec une mangouste: Lors de la dernière conférence, vous avez découvert l'approche fondée sur la requête pour mettre à jour un document. Cette approche est utile si vous recevez une entrée du client et que vous souhaitez vous assurer que la mise à jour est une opération valide. Par exemple, nous avons ici une règle métier. Donc, si le cours est publié, nous ne devrions peut-être pas être autorisés à en changer l'auteur. Pour implémenter cette règle métier, nous devons d'abord récupérer le cours, puis nous devons écrire une logique comme celle-ci. Donc, si le cours est publié, nous voulons y retourner. Nous ne voulons pas mettre à jour ce cours. C'est donc à ce moment-là que nous utilisons l'approche de la requête d'abord. Mais parfois, vous savez ce que vous faites, vous ne recevez pas l' avis du client. Vous souhaitez simplement mettre à jour un document ou peut-être plusieurs documents directement dans la base de données. Et c'est ce que je vais vous montrer dans cette conférence. Ainsi, au lieu d'utiliser la méthode fine by ID, nous utilisons la méthode update many ou update one. Maintenant, le premier argument est une requête ou un objet de filtre. Nous pouvons donc suivre le cours avec cet identifiant, ou nous pouvons passer quelque chose de plus générique. Nous pouvons accéder à tous les cours qui ne sont pas publiés. Ainsi, nous pouvons mettre à jour plusieurs documents en une seule fois. Dans cette démo, nous voulons mettre à jour un cours avec un identifiant particulier. Je vais le modifier pour souligner l'ID et le définir sur l'argument ID. Maintenant, le deuxième argument de la méthode update one est l'objet de mise à jour. Ici, nous devons utiliser un ou plusieurs opérateurs de mise à jour de la base de données Mongo Donc, si vous recherchez des opérateurs de mise à jour de Mongo DB, vous trouverez sur cette page la liste de tous les opérateurs pris en charge Nous avons donc la date actuelle pour définir la valeur d'un champ à la date actuelle. Nous avons de l'encre ou de l'incrément. C'est très puissant. Cela nous permet d' augmenter la valeur d' un champ du montant spécifié Imaginez que vous vouliez créer une application telle que Facebook. Ainsi, lorsque l'utilisateur aime une publication, vous souhaitez augmenter le nombre de likes Avec cet opérateur, vous pouvez incrémenter le nombre de s directement dans la base de données Il n'est pas nécessaire de réessayer la publication d'abord, puis d'incrémenter le nombre de s. Vous pouvez également transmettre une valeur négative pour décrémenter la valeur d'un Nous avons des outils qui sont utiles si vous souhaitez mettre à jour un champ si la valeur spécifiée est inférieure à la valeur du champ existant. Nous avons un autre opérateur similaire, nous permet de mettre à jour un champ si la valeur spécifiée est supérieure à la valeur du champ existant. Nous avons L ou multipliez, ce qui est un peu similaire à l'incrémentation. Mais avec cela, nous pouvons multiplier la valeur d'un champ par le montant spécifié. Nous avons défini, que je vais vous montrer dans cette conférence, et avec cela, nous pouvons définir la valeur du champ. Et de la même manière, nous avons défini, que nous pouvons utiliser pour supprimer le champ spécifié d'un document. Donc, de retour dans notre objet de mise à jour, je vais utiliser l'opérateur set. Nous l'attribuons à un objet, et dans cet objet, nous ajoutons une ou plusieurs paires clé-valeur. Supposons donc que nous voulions améliorer la propriété auor, définir sur Shevin, et que nous voulions définir sa publication Ainsi, avec cette méthode de mise à jour unique, nous pouvons mettre à jour un document directement dans la base de données sans le récupérer au préalable Maintenant, ce que nous obtenons ici est le résultat de l'opération de mise à jour, et non un objet de cours. Renommons-le donc en résultat. Nous n'avons plus besoin de vérifier l'existence d'un cours. Nous n'avons pas besoin de mettre à jour les propriétés ici, ni de les enregistrer explicitement. OK, c'est très simple. Revenons donc dans le terminal et relançons notre application. Vous pouvez donc voir ici dans l'objet de résultats que nous avons modifié un document. Et voici ce document dans notre base de données Mongo DV. L'auteur est donc défini sur Shiv in et est publié sur false. Magnifique. Maintenant, vous voulez parfois obtenir le document qui a été mis à jour. Si tel est le cas, au lieu de la méthode update one, vous devez utiliser Fine by ID et update. Donc, ici, comme premier argument, nous devons transmettre un identifiant au lieu d'un objet de requête. Et de même, comme deuxième argument, nous transmettons notre objet de mise à jour. Maintenant, ce que nous obtenons ici est un objet de cours. Je vais donc changer l'auteur en Shevin et le livre sera publié sur True Exécutons ce programme et voyons ce qui se passe. Donc node, index ou Js. Très bien, voici le document de cours que nous avons mis à jour. Cependant, écoutez, l' auteur est toujours méprisé et sa publication est fausse Nous obtenons donc le document original qui est le document avant l'opération de mise à jour. Si vous souhaitez obtenir le document mis à jour, vous devez passer une option. Nous devons transmettre un autre argument à cette méthode. Ici, je passe un objet et je définis la nouvelle propriété sur true. Et avec cela, nous allons obtenir le document mis à jour, enregistrer. Maintenant, de retour dans le terminal, relançons l'application. OK, écoutez, c'est vrai que l'auteur publie et publie. Donc, avec cette méthode, nous enverrons une commande à Mongo Dev pour mettre à jour le document et le renvoyer Ensuite, je vais vous montrer comment supprimer un document. 16. Supprimer des documents dans Mangose: Dans cette conférence, je vais vous montrer comment supprimer un document. Donc, pour gagner du temps, je vais obtenir le port pour la fonction de mise à jour du cours, le dupliquer, puis le renommer pour supprimer le cours Et enfin, remplacez-le par un sac à main amovible. C'est bon. Implémentons maintenant cette fonction. Donc, pour supprimer un document, on fait appel à un cours. Ici, nous avons cette méthode, supprimez-en une. Cette méthode utilise un filtre ou un objet de requête, nous pouvons donc transmettre un objet comme celui-ci. Et avec cet objet de requête, nous pouvons trouver un document avec un identifiant donné. Maintenant, si nous envoyons quelque chose de plus générique, comme « est publié », défini sur false, il se peut que plusieurs cours ne soient pas publiés. Cette méthode, en supprimer une trouvera la première et la supprimera. Maintenant, dans cette démo, nous ne voulons pas l'utiliser. Je vais revenir à cet objet de requête. Maintenant similaire à la méthode Update One. Cette méthode renvoie une promesse, afin que nous puissions la supprimer, obtenir le résultat, le stocker ici, puis l'enregistrer sur la console. Exécutons maintenant ce programme, donc aucun point d'index js. OK, voici notre objet de résultats et vous pouvez voir que nous avons supprimé un document. Maintenant, si vous souhaitez supprimer plusieurs documents, au lieu d'en supprimer un, utilisez delete Manu Cette méthode renvoie également un objet de résultat qui indique le nombre de documents supprimés. Maintenant, si vous voulez récupérer le document qui a été supprimé, nous avons une autre méthode ici. Posez donc le point fin par identifiant et retirez-le. Donc, vous passez l'identifiant ici. Cela revient à la promesse. Nous l'attendons, obtenons le résultat et le stockons dans cet objet de cours. Alors maintenant, je vais vous recommander cette première ligne. Et nous avons déjà supprimé ce cours. Lancez donc ce programme et voyons ce qui se passe. Nœud indexé pour hs. Nous obtenons donc NON. Donc, si nous n'avons pas de cours correspondant à l'identifiant indiqué, cette méthode renverra NOP