1
00:00:00,190 --> 00:00:13,710
Eh bien revenir dans cette vidéo va vous montrer comment nous pouvons mettre en place une association une association à plusieurs entre deux modèles de mangouste en intégrant des données et nous allons travailler avec l'utilisateur et le poste.

2
00:00:13,710 --> 00:00:26,790
Donc, ce sera comme une application Facebook ou blog où nous avons un utilisateur et un utilisateur peut avoir de nombreux postes, mais un poste appartient à un utilisateur et nous ne va pas être la création d'une application réelle ici avec des itinéraires et des modèles.

3
00:00:26,790 --> 00:00:30,090
Nous allons nous concentrer uniquement sur les données et la modélisation des données.

4
00:00:30,120 --> 00:00:36,110
Donc je vais commencer par faire un nouveau fichier à l'intérieur de ce répertoire d'associations que j'ai fait.

5
00:00:36,300 --> 00:00:37,520
Vous pouvez le faire là où vous voulez.

6
00:00:37,530 --> 00:01:02,150
Il va être un seul fichier et je vais l'appeler embed point J.S. Et je vais ouvrir cela et à l'intérieur d'ici, je vais exiger la mangouste que je n'ai pas encore installé, alors je vais faire que la prochaine et PM installer mongoose et cela prendra un moment.

7
00:01:02,160 --> 00:01:03,020
Voilà.

8
00:01:03,360 --> 00:01:04,790
Faisons de l'espace.

9
00:01:05,010 --> 00:01:22,350
Et une fois que nous en avons besoin, la prochaine chose que nous voulons faire est de se connecter à une base de données afin mongoose se connecte et c'est entièrement à nous encore le nom de la base de données, mais il doit être Mangu DB colon slash slash hôte local slash and roll call .

10
00:01:22,350 --> 00:01:26,890
Cette démo de blog juste comme ça et sauver.

11
00:01:27,500 --> 00:01:33,100
OK, maintenant nous devons définir deux modèles que nous avons utilisateur et nous avons un post.

12
00:01:33,330 --> 00:01:38,610
L'utilisateur aura simplement un e-mail et un nom et un post.

13
00:01:38,640 --> 00:01:42,170
Il va avoir un titre, puis un contenu.

14
00:01:42,540 --> 00:01:44,310
Le poste lui-même.

15
00:01:44,310 --> 00:01:47,330
Donc, nous allons commencer avec l'utilisateur doit définir le schéma.

16
00:01:47,520 --> 00:02:01,790
Jusqu'à présent, le schéma de l'utilisateur est égal au nouveau schéma mongoose et nous allons avoir un courrier électronique qui est une chaîne et un nom qui est une chaîne juste comme ça.

17
00:02:02,100 --> 00:02:04,850
Et puis nous allons créer le modèle jusqu'à présent.

18
00:02:05,010 --> 00:02:11,760
L'utilisateur est égal à l'utilisateur du modèle mongoose.

19
00:02:11,760 --> 00:02:16,340
La version Cingular, puis le schéma de l'utilisateur est ce que nous construisons.

20
00:02:16,530 --> 00:02:17,700
Et nous allons sauver ça.

21
00:02:17,980 --> 00:02:18,640
D'ACCORD.

22
00:02:18,930 --> 00:02:20,580
Passons maintenant au poste.

23
00:02:20,640 --> 00:02:37,710
Donc, nous allons créer un autre schéma cette fois var post schema est égale à nouveau mongoose schéma et chaque post a un titre qui est une chaîne de caractères et le contenu qui fera juste une chaîne aussi bien.

24
00:02:38,340 --> 00:02:51,500
Et puis nous avons aussi besoin de transformer cela en un modèle var post modèle égale mongoose arrêter le modèle post post point virgule.

25
00:02:51,790 --> 00:02:52,590
Droite.

26
00:02:52,650 --> 00:02:56,010
Donc, nous avons deux schémas mis en place deux modèles.

27
00:02:56,010 --> 00:02:57,670
Faisons un peu de place ici.

28
00:02:57,810 --> 00:03:00,830
Nous avons donc nos postes et nous avons nos utilisateurs.

29
00:03:00,990 --> 00:03:02,610
Et essayons juste de courir ceci.

30
00:03:02,610 --> 00:03:09,100
Assurez-vous que nous n'avons pas d'erreurs de syntaxe pour démarrer le noeud intégré Dutcher Oui.

31
00:03:09,600 --> 00:03:11,090
Cela semble bon.

32
00:03:11,100 --> 00:03:15,470
Maintenant, allons créer un utilisateur unique pour nous assurer que notre modèle fonctionne.

33
00:03:15,470 --> 00:03:37,240
Donc, au fond fait ici je vais faire un nouvel utilisateur, donc nous allons simplement appeler notre nouvel utilisateur est égal à nouveau utilisateur et ensuite nous allons passer un e-mail et e-mail sera Charlie à autour de Edu et le nom sera Charlie Brown comme ça.

34
00:03:37,380 --> 00:03:40,600
Et puis ce qui sauve un nouvel utilisateur à enregistrer.

35
00:03:40,740 --> 00:03:49,540
Et puis nous allons ajouter dans notre rappel avec l'erreur et puis les données de retour qui est espérons notre utilisateur et puis pas seulement vous.

36
00:03:49,560 --> 00:03:55,370
Si l'erreur annule l'erreur de journalisation.

37
00:03:56,670 --> 00:04:01,010
Sinon, nous allons annuler cet utilisateur de journal.

38
00:04:01,110 --> 00:04:03,340
Donc, jusqu'à présent pas d'associations.

39
00:04:03,390 --> 00:04:06,350
Je teste juste pour voir si notre modèle d'utilisateur fonctionne.

40
00:04:06,360 --> 00:04:17,190
So let's exécuter ce nœud embed Dutchesse et nous récupérons notre utilisateur avec l'ID qui a été généré automatiquement nom et e-mail.

41
00:04:17,190 --> 00:04:37,060
Grand essayons la même chose avec le poteau ainsi le commentaire que dehors ainsi nous n'obtenons pas un autre utilisateur et nous allons faire notre nouveau poteau égale le nouveau poteau et un poteau a un titre et le titre du poteau sera des réflexions sur des pommes Et le texte de ce post ou le contenu.

42
00:04:37,050 --> 00:04:40,940
Je pense que nous l'avons appelé oui le contenu sera.

43
00:04:41,280 --> 00:04:43,620
Ils sont délicieux.

44
00:04:44,250 --> 00:04:44,640
D'accord.

45
00:04:44,640 --> 00:04:46,110
Grand blog là-bas.

46
00:04:46,320 --> 00:04:55,940
Nous allons économiser faire en sorte que tout va bien et ensuite nous allons faire un nouveau post qui nous sauver et le rappel à nouveau maintenant.

47
00:04:56,100 --> 00:05:03,240
Espérons que vous vous sentez à l'aise avec ce modèle parce que vous le voyez sans arrêt où passent ce rappel d'appel à la mangouste.

48
00:05:03,360 --> 00:05:15,360
Chaque fois que nous faisons quelque chose avec Monga est de trouver la création de mise à jour d'épargne éventuellement enlever éventuellement nous avons besoin de passer dans un rappel avec l'erreur que le premier paramètre et ensuite les données comme la seconde.

49
00:05:15,360 --> 00:05:15,590
D'accord.

50
00:05:15,600 --> 00:05:28,610
Donc, si l'erreur annule log jamais autrement venir à ce poste de blog assurez-vous que ces deux travaux.

51
00:05:28,670 --> 00:05:32,260
Essayons et nous rencontrons un petit problème.

52
00:05:32,390 --> 00:05:36,920
Cela nous dit que le poste n'est pas défini lorsque nous essayons de créer un nouveau poste.

53
00:05:37,040 --> 00:05:42,350
Et la raison la plus logique pour que cela se produise serait si nous avons appelé notre modèle autre chose que post.

54
00:05:42,350 --> 00:05:43,480
Et que savez-vous.

55
00:05:43,520 --> 00:05:48,100
Nous l'avons nommé modèle de poste et par nous je veux dire que je l'ai nommé incorrectement.

56
00:05:48,410 --> 00:05:50,160
Alors allons-y avec la poste.

57
00:05:50,270 --> 00:05:53,800
Nous aurions pu le garder comme modèle de poste et l'avoir changé ici.

58
00:05:54,440 --> 00:06:06,900
Mais il est certainement conventionnel de le faire simplement être le nom de ce que vous faites vous n'avez pas besoin d'avoir un modèle là-bas vous n'avez pas besoin de caractères supplémentaires seulement le nom du modèle lui-même ou de l'entité post avec un capital P

59
00:06:06,920 --> 00:06:08,400
Très bien pour que les matchs maintenant.

60
00:06:08,460 --> 00:06:11,500
Droit, nous avons post et post ici.

61
00:06:11,750 --> 00:06:17,740
Essayons encore et cette fois, il ajoute un nouveau contenu post.

62
00:06:17,750 --> 00:06:20,700
Ils sont délicieux réflexions titre sur les pommes.

63
00:06:21,050 --> 00:06:26,150
OK maintenant que nous avons fait en sorte que nos deux modèles fonctionnent correctement, nous pouvons faire un post et nous pouvons faire un utilisateur.

64
00:06:26,330 --> 00:06:37,440
Mais actuellement, ils n'ont rien à voir les uns avec les autres et nous voulons qu'ils aient une relation rappelez-vous que nous voulons un utilisateur d'avoir ou d'avoir de nombreux postes et un poste appartiendra à un utilisateur.

65
00:06:37,670 --> 00:06:39,830
C'est donc une relation entre un et plusieurs.

66
00:06:40,020 --> 00:06:46,030
Et la manière que je vais vous montrer pour accomplir cela est en incorporant des données au lieu d'un schéma d'utilisateur.

67
00:06:46,250 --> 00:06:47,520
Alors ça va ressembler à ça.

68
00:06:47,550 --> 00:06:49,940
Ensuite, je vais vous expliquer dans un instant.

69
00:06:50,090 --> 00:06:55,520
Nous allons avoir l'attribut d'un post à l'intérieur de l'utilisateur et à l'intérieur de l'attribut Post.

70
00:06:55,520 --> 00:07:02,570
Nous allons avoir un tas de messages et pour faire ce travail, nous devons ajouter le schéma de poste à l'intérieur d'un tableau.

71
00:07:02,570 --> 00:07:14,640
Donc, plutôt que de faire des messages une chaîne ou un nombre ou un booléen nous disons la mangouste, nous voulons qu'il soit une liste d'un tableau de postes et nous devons écrire un schéma de post qui est un peu confus honnêtement.

72
00:07:14,780 --> 00:07:19,510
Je souhaite que ce soit juste le nom du modèle, mais c'est juste la façon dont il est.

73
00:07:19,520 --> 00:07:29,890
Il doit être le nom du schéma et nous avons un autre problème qui est que si nous exécutons ce droit maintenant, il ne va pas savoir ce qu'est post-chimio et c'est parce que nous le définissons en second lieu.

74
00:07:29,990 --> 00:07:33,500
Donc, si nous incorporons les données, nous devons d'abord les définir.

75
00:07:33,590 --> 00:07:45,560
Ainsi, nous définissons le schéma post et le modèle post, puis nous définissons le schéma utilisateur et à l'intérieur du schéma utilisateur nous ajoutons un attribut appelé posts qui est un tableau de poteaux.

76
00:07:45,560 --> 00:08:00,960
Donc, si nous faisons que nos données seront quelque chose comme ça ou nous aurons un nom pour un utilisateur de faire e-mail et je vais juste faire jibberish un nom et nous aurons aussi des messages et des messages un tableau.

77
00:08:01,220 --> 00:08:13,380
Et à l'intérieur de ce tableau nous avons plusieurs postes de sorte que chaque poste a un titre et un contenu et un utilisateur peut avoir de nombreux postes comme ça.

78
00:08:13,730 --> 00:08:20,870
Et donc pour chaque post que nous obtenons il sera un nouvel article au lieu de l'attribut posts sur un utilisateur particulier.

79
00:08:20,870 --> 00:08:22,030
Alors allons-y.

80
00:08:22,160 --> 00:08:28,250
Créons un utilisateur, puis je vais vous montrer comment nous pouvons ajouter un message à cet utilisateur afin que nous puissions utiliser notre.

81
00:08:28,370 --> 00:08:29,990
Charlie Brown ici.

82
00:08:30,020 --> 00:08:31,960
Nouvel utilisateur équivaut à Charlie Brown.

83
00:08:31,970 --> 00:08:37,480
Bien que je vais changer certains des e-mails et des noms parce que nous avons déjà Charlie Brown dans la base de données.

84
00:08:37,490 --> 00:08:42,590
Allons avec mon tout à Poudlard edu.

85
00:08:43,100 --> 00:08:46,490
Et puis nous allons changer cela pour être ma tante Granger.

86
00:08:46,640 --> 00:08:47,190
D'accord.

87
00:08:47,330 --> 00:08:51,400
Nous avons donc un nouvel utilisateur et ensuite ajouter un message à cet utilisateur.

88
00:08:51,650 --> 00:08:58,990
Tout ce qu'ils ont à faire est d'écrire de nouveaux messages utilisateur qui poussent parce que c'est un tableau.

89
00:08:59,090 --> 00:09:19,330
Et je pousse dans un nouveau poste et un poste a un titre et le titre de mon prochain post sera la façon de préparer la potion de jus de poly et puis le contenu sera juste une blague.

90
00:09:19,490 --> 00:09:23,540
La classe de potions pour l'apprendre tout droit.

91
00:09:23,540 --> 00:09:24,640
Quoi qu'il en soit n'a pas vraiment d'importance.

92
00:09:24,650 --> 00:09:32,450
Donc, nous avons un titre et un certain contenu et nous allons pousser ce message dans un nouvel utilisateur que nous avons défini ici.

93
00:09:32,810 --> 00:09:35,790
Et la dernière chose que nous devons faire est de sauvegarder de nouveaux utilisateurs.

94
00:09:35,840 --> 00:09:39,070
Donc, un nouvel utilisateur qui sauve comme ça.

95
00:09:39,070 --> 00:09:47,030
Et nous avons réellement déjà cette écriture donc je vais juste réutiliser cela et uncomment que et cela va essayer de le sauver.

96
00:09:47,150 --> 00:09:48,920
S'il ya une erreur, il nous le fera savoir.

97
00:09:48,980 --> 00:09:56,880
Sinon, il nous montrera l'utilisateur et ensuite commenter toutes ces choses ici bas sur les messages et juste enregistrer que et nous allons voir ce qui se passe.

98
00:09:57,110 --> 00:10:06,340
Ainsi nous avons notre schéma de poste que vous avez défini alors nous avons le schéma d'utilisateur et la nouvelle partie est juste ici où nous avons un tableau des poteaux à l'intérieur de l'utilisateur.

99
00:10:06,740 --> 00:10:10,080
Et puis nous créons un nouvel utilisateur et nous poussons dans ce poste à droite.

100
00:10:10,550 --> 00:10:12,610
Faisons un coup.

101
00:10:14,230 --> 00:10:14,690
D'ACCORD.

102
00:10:14,780 --> 00:10:23,700
Et nous récupérons cet utilisateur que nous imprimons ici des emails rappelant au nom de Poudlard que c'est Hermione Granger et que, au lieu de messages, nous avons un nouveau message.

103
00:10:23,820 --> 00:10:25,600
Donc, ça marche très bien.

104
00:10:25,610 --> 00:10:33,450
Essayons maintenant autre chose où je vais commenter tout cela et plutôt que de créer un nouvel utilisateur, nous allons récupérer l'utilisateur existant.

105
00:10:33,530 --> 00:10:35,350
Je vais donc récupérer son exploitation minière.

106
00:10:35,480 --> 00:10:38,570
Donc je vais le faire avec l'utilisateur trouver.

107
00:10:38,740 --> 00:10:40,660
Et je vais utiliser trouver un.

108
00:10:40,820 --> 00:10:44,760
Sinon trouver me donnera un tableau et je veux juste une chose en arrière.

109
00:10:44,780 --> 00:10:58,180
Donc, nous allons faire vous ne trouvez pas un trouvera où le nom est Hermione Granger et puis nous ferons notre erreur de rappel standard et nous allons simplement appeler cet utilisateur.

110
00:10:58,220 --> 00:11:00,670
J'espère que vous vous sentez à l'aise avec ça maintenant.

111
00:11:00,860 --> 00:11:06,750
Ce droit ici le rappel que nous écrivons à peu près chaque fois que nous faisons quelque chose avec Mongoose et puis nous allons juste le faire.

112
00:11:06,950 --> 00:11:26,360
Si jamais l'erreur de dialogue de conseiller et alors Autrement sinon nous constamment utilisateur de bogue et j'ai un support supplémentaire que je dois me débarrasser de chaque aller.

113
00:11:26,360 --> 00:11:29,570
Donc c'est juste pour trouver mon nouveau nouveau rien de nouveau.

114
00:11:29,570 --> 00:11:34,430
Nous trouvons juste un nouvel utilisateur et ça marche.

115
00:11:34,430 --> 00:11:36,200
Nous faisons revenir l'utilisateur.

116
00:11:36,290 --> 00:11:39,030
Son nom est son esprit elle e-mails son argent à Poudlard.

117
00:11:39,320 --> 00:11:44,690
OK maintenant, supposons que je veux ajouter un autre post parce que c'est censé être un à plusieurs.

118
00:11:44,720 --> 00:11:46,940
Ainsi, un utilisateur peut avoir plusieurs messages.

119
00:11:47,030 --> 00:11:48,680
Faisons maintenant.

120
00:11:48,710 --> 00:12:08,280
Donc, à l'intérieur de l'autre fois, nous trouvons l'utilisateur Nous allons exécuter un code à ajouter dans un nouveau message et puis qui ressemble à cet utilisateur posts push up comme avant et cette fois va pousser dans un autre post, nous allons pousser Dans le titre et le titre est de trois choses.

121
00:12:08,600 --> 00:12:16,490
Je déteste vraiment et le contenu sera d'autant plus d'autant plus.

122
00:12:16,940 --> 00:12:18,150
Et Voldemort.

123
00:12:18,350 --> 00:12:23,020
Très bien post très créatif là-bas me rappeler et nous allons aller de l'avant et enregistrer cela.

124
00:12:23,060 --> 00:12:31,360
Nous avons donc besoin de faire une sauvegarde utilisateur et ensuite nous allons ajouter dans notre rappel après.

125
00:12:31,460 --> 00:12:33,470
Une autre de ces erreurs.

126
00:12:33,710 --> 00:12:36,440
Et nous allons appeler cet utilisateur à nouveau.

127
00:12:36,440 --> 00:12:47,660
Et au lieu d'ici va faire si erreur console log erreur autrement annuler l'utilisateur de journal.

128
00:12:47,660 --> 00:12:50,240
Très bien, c'est ce que certaines personnes appellent le rappel.

129
00:12:50,240 --> 00:12:52,570
Hell nous avons beaucoup de callbacks ici.

130
00:12:52,670 --> 00:12:59,780
Nous avons cette première qui trouve son esprit la conclusion que l'utilisateur que nous obtenons et alors nous poussons dans un nouveau poteau.

131
00:13:00,090 --> 00:13:02,050
Mais cela n'ajoute pas à la base de données.

132
00:13:02,120 --> 00:13:03,600
Nous devons ensuite le sauver.

133
00:13:03,800 --> 00:13:07,330
Et donc nous faisons l'utilisateur sauver et cet utilisateur ici.

134
00:13:07,400 --> 00:13:19,010
Ces deux se réfèrent à l'utilisateur qui revient lorsque nous trouvons son esprit la première fois et puis nous enregistrons et puis cet utilisateur se réfère à ce qui revient de la sauvegarde.

135
00:13:19,040 --> 00:13:24,170
Donc, cet utilisateur ici a maintenant le nouveau post ajouté à elle et enregistrer dans la base de données.

136
00:13:24,290 --> 00:13:29,390
Ce sont les données qui nous reviennent de Mongo et nous les imprimons.

137
00:13:29,390 --> 00:13:30,340
Essayons maintenant.

138
00:13:30,500 --> 00:13:33,200
Permettez-moi donc de me débarrasser de ce premier log de contreplot.

139
00:13:33,230 --> 00:13:34,890
Laissez-le comme ça.

140
00:13:34,970 --> 00:13:41,400
Nous allons nous assurer que nous n'avons aucun autre code en cours d'exécution qui va interférer avec nos comptes sur les journaux.

141
00:13:41,780 --> 00:13:43,970
Allons-y.

142
00:13:44,090 --> 00:13:44,750
D'accord.

143
00:13:44,930 --> 00:13:59,180
Donc, ce que nous voyons, c'est que nous imprimons maintenant un seul utilisateur Hermione qui a deux postes comme la première et la seconde et ils sont tous deux stockés à l'intérieur de l'attribut post sur le seul utilisateur.

144
00:13:59,180 --> 00:14:00,850
Donc, c'est un à plusieurs.

145
00:14:01,380 --> 00:14:01,660
D'ACCORD.

146
00:14:01,670 --> 00:14:02,940
C'est tout ce que je veux montrer.

147
00:14:03,020 --> 00:14:04,890
Réfléchissons brièvement à ce sujet.

148
00:14:04,940 --> 00:14:10,190
Donc nous avons commencé en s'asseyant à Mongoose et nous avons deux modèles et ils étaient indépendants pour commencer.

149
00:14:10,370 --> 00:14:15,380
Ensuite, nous les associons en ajoutant ce tableau post-schéma au schéma de l'utilisateur.

150
00:14:15,590 --> 00:14:19,190
Donc maintenant un utilisateur a un tableau de messages et il commence vide.

151
00:14:19,430 --> 00:14:31,290
Mais ensuite, nous avons ajouté à lui en poussant dans le point après le point et puis nous avons enregistré dans la prochaine vidéo va vous montrer une autre façon d'associer les données en utilisant ce que l'on appelle des références d'objets.
