‫Instructeur : Nous avons
‫donc intégré les utilisateurs dans les visites dans
‫la dernière vidéo et avons également
‫parlé des inconvénients de cette approche dans notre situation spécifique.
‫Et donc, dans cette vidéo, connectons réellement les
‫visites et les utilisateurs non pas par intégration mais plutôt par une référence.
‫Et donc
‫pour commencer, débarrassons-nous en fait du code que nous avons écrit dans la dernière leçon.
‫D'accord, donc celui-ci
‫ici, responsable de l'exécution de l'intégration en gros.
‫Et maintenant, allons ici à notre domaine des guides.
‫D'accord?
‫Donc, cette fois dans cette
‫vidéo, l'idée est que les visites et les utilisateurs resteront toujours des
‫entités complètement séparées dans notre base de données.
‫D'accord?
‫Ainsi, tout ce que nous enregistrons sur un certain
‫document de visite, ce sont les identifiants des utilisateurs qui sont les
‫guides touristiques de cette visite spécifique.
‫Ensuite, lorsque nous interrogeons
‫la visite, nous voulons accéder automatiquement aux guides touristiques.
‫Mais encore une fois, sans qu'ils
‫soient réellement enregistrés sur le document de visite lui-même.
‫Et c'est exactement le référencement.
‫Donc, tout comme nous en avons parlé au début de cette section.
‫D'accord?
‫Et laissez-moi maintenant
‫vous montrer comment implémenter le référencement à l'aide de Mongoose.
‫D'accord?
‫Donc, ici, dans les guides, nous allons maintenant vouloir spécifier un tableau.
‫D'accord?
‫Donc, tout comme nous l'avons fait avant avec les emplacements.
‫Et cela signifie
‫à nouveau qu'il s'agira de sous-documents.
‫Donc documents intégrés.
‫D'accord?
‫Et maintenant, le type va
‫être un nouveau type que nous n'avons jamais vu auparavant.
‫Et c'est la mangouste. Schéma. objetId.
‫D'accord?
‫Et cela signifie que nous nous attendons
‫à ce qu'un type de
‫chacun des éléments du tableau guides soit un ID MongoDB.
‫D'accord?
‫Et ici, en fait, il doit s'agir d'un O
‫majuscule, d'accord, sinon cela ne fonctionnera
‫pas, et tout cela ici doit également être à l'intérieur d'un objet,
‫comme toute autre définition de type de schéma.
‫D'accord, parce que c'est tout ce que c'est vraiment.
‫D'accord, le type est donc de cet ID MongoDB, en gros, et
‫nous devons également maintenant spécifier la référence.
‫Et c'est là que la magie opère
‫en coulisses, car ici, maintenant on dit que la référence doit être utilisateur.
‫D'accord, et c'est vraiment ainsi que nous établissons des références
‫entre différents ensembles de données dans Mongoose.
‫Et pour cela, nous n'avons
‫même pas besoin d'avoir l'utilisateur à importer dans ce document.
‫Nous l'avons donc eu ici, mais nous n'en avons même pas besoin.
‫Nous avions cela ici pour la conférence
‫précédente, mais nous pouvons
‫le commenter, car ce que nous venons de faire ici va toujours fonctionner.
‫D'accord?
‫Alors, allons-y maintenant et créons une nouvelle tournée, et en fait
‫je vais le faire comme nous le faisions avant.
‫Alors allons-y et supprimons celui-ci.
‫Où est la pièce d'identité ?
‫Nous y voilà.
‫Supprimez donc la tournée.
‫Nous pouvons donc déjà utiliser notre API pour cela.
‫Très bien, et maintenant nous créons une nouvelle tournée.
‫Et comme avant,
‫tout ce que nous passons dans les guides est un tableau des identifiants.
‫D'accord?
‫Mais cette fois, nous
‫avons en fait spécifié qu'un ID d'objet est exactement ce que nous attendons.
‫Droit?
‫Donc, celui-ci est du type ID d'objet.
‫Mais dans les coulisses, il fait également référence à l'utilisateur.
‫D'accord?
‫Ainsi, lorsque nous créons maintenant cette visite
‫ici, elle ne contiendra en fait
‫que ces identifiants, et non l'utilisateur correspondant aux identifiants.
‫Jetons donc un œil à cela.
‫Et alors oui, on y va.
‫Ce sont donc exactement les données que nous avons saisies.
‫Juste les identifiants des guides touristiques.
‫D'accord, et c'est exactement ce à quoi nous nous attendions.
‫Parce que pour l'instant, tout ce que nous avons vraiment,
‫ce sont les références à l'intérieur de Mongoose.
‫Et nous nous occuperons ensuite de faire en
‫sorte que les données apparaissent dans notre sortie dans la vidéo suivante.
‫D'accord, parce que nous allons le faire de deux manières différentes.
‫Jetons également un coup d'œil ici à
‫Compass très rapidement, juste pour voir cela aussi où est-ce, oui, ici.
‫Donc, vous voyez l'ID d'objet en fait, et
‫puis bien sûr, les ID que nous avons transmis.
‫Donc, exactement comme nous l'avions prévu avec les visites et
‫les utilisateurs, toujours deux entités complètement différentes.
‫Et comme je l'ai dit précédemment, dans
‫la vidéo suivante, nous nous occuperons ensuite d'afficher
‫réellement les données utilisateur dans
‫la sortie, à l'aide d'un processus appelé remplissage.