1
00:00:00,190 --> 00:00:13,710
Nou kom terug in deze video ga je laten zien hoe we kunnen het opzetten van een vereniging een één op veel relatie tussen twee mangoest modellen door het inbedden van data en we gaan om samen te werken met de gebruiker en post.

2
00:00:13,710 --> 00:00:26,790
Dus dit zal zijn als een Facebook of blog app waar we een gebruiker en een gebruiker kan veel berichten, maar een post behoort tot een gebruiker en we zijn niet van plan om het creëren van een echte app hier met routes en sjablonen.

3
00:00:26,790 --> 00:00:30,090
We gaan gewoon richten op de gegevens en de gegevens modelleren.

4
00:00:30,120 --> 00:00:36,110
Dus ik ga aan de slag met het maken van een nieuw bestand binnenkant van deze verenigingen map die ik heb gemaakt.

5
00:00:36,300 --> 00:00:37,520
U kunt dit doen waar u maar wilt.

6
00:00:37,530 --> 00:01:02,150
Het gaat om een ​​enkel bestand te zijn en ik noem het insluiten dot J.S. en ik zal openen dat tot en de binnenkant van hier zal ik mangoest die ik niet hebt geïnstalleerd vereisen nog dus ik zal dat volgende en PM installeren mangoest doen en dat zal even duren.

7
00:01:02,160 --> 00:01:03,020
Daar gaan we.

8
00:01:03,360 --> 00:01:04,790
Laten we wat ruimte.

9
00:01:05,010 --> 00:01:22,350
En zodra we nodig hebben het volgende wat we willen doen is te verbinden met een database, zodat mangoest betekent verbinden en dit is helemaal aan ons opnieuw de naam van de database, maar het moet Mangu DB colon slash slash lokale host slash and roll call .

10
00:01:22,350 --> 00:01:26,890
Deze blog demo net als dat en op te slaan.

11
00:01:27,500 --> 00:01:33,100
OK dus nu moeten we twee modellen hebben we de gebruiker te definiëren en we hebben een bericht.

12
00:01:33,330 --> 00:01:38,610
De gebruiker zal alleen maar een e-mail en een naam en een bericht.

13
00:01:38,640 --> 00:01:42,170
Het gaat om een ​​titel en vervolgens een inhoud hebben.

14
00:01:42,540 --> 00:01:44,310
De werkelijke paal zelf.

15
00:01:44,310 --> 00:01:47,330
Dus we beginnen met de gebruiker nodig om het schema te definiëren.

16
00:01:47,520 --> 00:02:01,790
Tot nu toe gebruiker schema is gelijk aan nieuwe mangoest schema en dan gaan we e-mail die is een string en de naam die is een string net als dat hebben.

17
00:02:02,100 --> 00:02:04,850
En dan zullen we het model tot nu toe te maken.

18
00:02:05,010 --> 00:02:11,760
Gebruiker is gelijk aan mangoest model gebruiker.

19
00:02:11,760 --> 00:02:16,340
De Cingular versie en vervolgens de gebruiker schema is wat wij het bouwen van.

20
00:02:16,530 --> 00:02:17,700
En dat bewaren we.

21
00:02:17,980 --> 00:02:18,640
OK.

22
00:02:18,930 --> 00:02:20,580
Laten we nu overgaan tot de post.

23
00:02:20,640 --> 00:02:37,710
Dus we gaan naar een ander schema ditmaal var bericht schema is gelijk aan nieuwe mangoest schema en vervolgens elk bericht heeft een titel die is een string en inhoud die slechts een string zal ook te maken.

24
00:02:38,340 --> 00:02:51,500
En dan moeten we ook om te zetten dat in een model var paal model is gelijk aan mangoest stop model na de komma na schema.

25
00:02:51,790 --> 00:02:52,590
Rechts.

26
00:02:52,650 --> 00:02:56,010
Dus hebben we twee schema opgezet twee modellen.

27
00:02:56,010 --> 00:02:57,670
Laten we een beetje van de kamer hier.

28
00:02:57,810 --> 00:03:00,830
Dus hebben we onze berichten en we hebben onze gebruikers.

29
00:03:00,990 --> 00:03:02,610
En laten we gewoon proberen het uitvoeren van deze.

30
00:03:02,610 --> 00:03:09,100
Zorg ervoor dat we geen fouten in de syntaxis aan knooppunt te starten insluiten Dutcher Ja.

31
00:03:09,600 --> 00:03:11,090
Ziet er goed uit.

32
00:03:11,100 --> 00:03:15,470
Laten we nu gaan en het creëren van een enkele gebruiker alleen maar om ervoor te zorgen dat ons model werkt.

33
00:03:15,470 --> 00:03:37,240
Dus helemaal onderaan gedaan hier ga ik een nieuwe gebruiker te maken, zodat we noemen het onze nieuwe gebruiker is gelijk aan nieuwe gebruiker en dan zullen we een e-mail passeren en e-mail Charlie zijn rond Edu en de naam van Charlie zijn Brown net als dat.

34
00:03:37,380 --> 00:03:40,600
En wat scheelt een nieuwe gebruiker op te slaan.

35
00:03:40,740 --> 00:03:49,540
En dan zullen we aan onze callback met de fout en de gegevens vervolgens terug te komen die hopelijk onze gebruikers en dan niet alleen jij.

36
00:03:49,560 --> 00:03:55,370
Als de fout annuleert log fout.

37
00:03:56,670 --> 00:04:01,010
Anders gaan we dat log gebruiker annuleren.

38
00:04:01,110 --> 00:04:03,340
Tot nu toe geen associaties.

39
00:04:03,390 --> 00:04:06,350
Ik ben gewoon het testen om te zien of onze gebruiker model werkt.

40
00:04:06,360 --> 00:04:17,190
Dus laten we lopen dit knooppunt insluiten Dutchesse en wij krijgen onze gebruiker terug met de ID die automatisch werd gegenereerd naam en e-mail.

41
00:04:17,190 --> 00:04:37,060
Grote laten we proberen hetzelfde met post zodat commentaar dat uit zodat we niet een andere gebruiker te krijgen en we gaan doen onze nieuwe post is gelijk aan nieuwe post en een Post heeft een titel en de titel van de post zal zijn bespiegelingen over appels en de tekst van die post of de inhoud.

42
00:04:37,050 --> 00:04:40,940
Ik denk dat we noemden het ja-inhoud zal zijn.

43
00:04:41,280 --> 00:04:43,620
Ze zijn verrukkelijk.

44
00:04:44,250 --> 00:04:44,640
Okee.

45
00:04:44,640 --> 00:04:46,110
Grote blog post daar.

46
00:04:46,320 --> 00:04:55,940
We zullen sparen ervoor zorgen dat alles is goed en dan gaan we een nieuwe post die ons te redden en de callback weer eigenlijk doen nu.

47
00:04:56,100 --> 00:05:03,240
Hopelijk je krijgt comfortabel met dit patroon omdat je het zien van het non-stop, waar passeren deze oproep callback te mangoest.

48
00:05:03,360 --> 00:05:15,360
Elke keer dat we iets te doen met Monga is het vinden van het creëren van besparing updating uiteindelijk verwijderen uiteindelijk moeten we passeren een callback met de fout als de eerste parameter en vervolgens de gegevens als de tweede.

49
00:05:15,360 --> 00:05:15,590
Okee.

50
00:05:15,600 --> 00:05:28,610
Dus als fout annuleert log ooit anders is gekomen om die blog post ervoor te zorgen dat beide werk.

51
00:05:28,670 --> 00:05:32,260
Laten we het proberen en we lopen in een klein probleem.

52
00:05:32,390 --> 00:05:36,920
Het is ons te vertellen dat bericht niet is gedefinieerd wanneer we proberen om een ​​nieuw bericht te maken.

53
00:05:37,040 --> 00:05:42,350
En de meest logische reden voor dat dat gebeurt zou zijn als we ons model iets anders dan de post genoemd.

54
00:05:42,350 --> 00:05:43,480
En wat weet je.

55
00:05:43,520 --> 00:05:48,100
We noemden het bericht model en we bedoel ik dat ik noemde het verkeerd.

56
00:05:48,410 --> 00:05:50,160
Dus laten we gaan met post.

57
00:05:50,270 --> 00:05:53,800
We kunnen het hebben gehouden als post-model en toen veranderde het hier.

58
00:05:54,440 --> 00:06:06,900
Maar het is zeker gebruikelijk om het te hebben alleen de naam van wat je maakt je niet hoeft te model daar u geen extra tekens hoeft alleen maar de naam van het model zelf of van de entiteit post met een hoofdletter te hebben P ..

59
00:06:06,920 --> 00:06:08,400
Oké dus dat past nu.

60
00:06:08,460 --> 00:06:11,500
Rechts hebben we post en post hier.

61
00:06:11,750 --> 00:06:17,740
Laten we proberen dit opnieuw en deze keer voegt een nieuwe functie-inhoud.

62
00:06:17,750 --> 00:06:20,700
Ze zijn heerlijk titel reflecties op appels.

63
00:06:21,050 --> 00:06:26,150
OK nu dat we ervoor hebben gemaakt dat onze twee modellen goed werken kunnen we een post te maken en kunnen we een gebruiker te maken.

64
00:06:26,330 --> 00:06:37,440
Maar op dit moment hebben ze niets te maken met elkaar en we willen dat ze een relatie hebben niet vergeten dat we willen een gebruiker of moeten bezitten vele posten en een post zal behoren tot één gebruiker.

65
00:06:37,670 --> 00:06:39,830
Dus dat is een een tot veel relatie.

66
00:06:40,020 --> 00:06:46,030
En de manier waarop ik ga om te laten zien om dat te bereiken is door het inbedden van gegevens in plaats van een gebruiker schema.

67
00:06:46,250 --> 00:06:47,520
Dus het gaat er zo uitzien.

68
00:06:47,550 --> 00:06:49,940
Dan zal ik het in slechts een moment uit te leggen.

69
00:06:50,090 --> 00:06:55,520
We gaan attribuut een post hebben in de gebruiker en de binnenkant van de Post attribuut.

70
00:06:55,520 --> 00:07:02,570
We gaan een heleboel berichten te hebben en dat werk dat we nodig hebben om de post schema binnenkant van een array toe te voegen maken.

71
00:07:02,570 --> 00:07:14,640
Dus in plaats van het maken van berichten een string of een nummer of een boolean we mangoest vertellen we willen dat het een lijst te zijn een reeks van berichten en we moeten na schema dat is een beetje verwarrend eerlijk te schrijven.

72
00:07:14,780 --> 00:07:19,510
Ik zou willen dat het was gewoon post de naam van het model, maar het is gewoon de manier waarop het is.

73
00:07:19,520 --> 00:07:29,890
Het moet de naam van het schema en we hebben een ander probleem en dat is dat als we dit recht draaien nu het gaat niet om te weten wat post-chemo is en dat is omdat we het tweede definieert.

74
00:07:29,990 --> 00:07:33,500
Dus als we het inbedden van de gegevens die moeten we het eerst definiëren.

75
00:07:33,590 --> 00:07:45,560
Dus we bepalen de post schema en de post-model en dan definiëren we de gebruiker schema en de binnenkant van de gebruiker schema voegen we een attribuut genaamd berichten dat is een serie van berichten.

76
00:07:45,560 --> 00:08:00,960
Dus als we dat doen onze data zoiets als dit zal kijken of we een naam van een gebruiker laten we het doen van e-mail en ik zal gewoon jibberish een naam en dan zullen we ook berichten posten en een array.

77
00:08:01,220 --> 00:08:13,380
En binnen die reeks hebben we meerdere berichten zodat elk bericht heeft een titel en inhoud en een gebruiker kan veel berichten, net als dat hebben.

78
00:08:13,730 --> 00:08:20,870
En dus voor elke post die we krijgen het zal een nieuwe post te zijn in plaats van de berichten toe te schrijven aan een bepaalde gebruiker.

79
00:08:20,870 --> 00:08:22,030
Dus laten we dat maar.

80
00:08:22,160 --> 00:08:28,250
Laten we een gebruiker en dan zal ik je laten zien hoe we een post voor die gebruiker kan toevoegen, zodat we kunnen gewoon gebruik maken van onze.

81
00:08:28,370 --> 00:08:29,990
Charlie Brown hier.

82
00:08:30,020 --> 00:08:31,960
Nieuwe gebruiker gelijk aan Charlie Brown.

83
00:08:31,970 --> 00:08:37,480
Hoewel ik een aantal van de e-mails en de namen te veranderen, want we hebben al Charlie Brown in de database.

84
00:08:37,490 --> 00:08:42,590
Laten we gaan met zijn mijn enige op Zweinstein edu.

85
00:08:43,100 --> 00:08:46,490
En dan zullen we dit veranderen aan mijn tante Granger zijn.

86
00:08:46,640 --> 00:08:47,190
Okee.

87
00:08:47,330 --> 00:08:51,400
Dus hebben we een nieuwe gebruiker en vervolgens naar een post die gebruiker toe te voegen.

88
00:08:51,650 --> 00:08:58,990
Het enige wat ze hoeft te doen is te schrijven nieuwe gebruiker berichten dat duwen, want het is een array.

89
00:08:59,090 --> 00:09:19,330
En ik duw in een nieuwe post en een Post heeft een titel en de titel van mijn volgende post zal zijn hoe poly sap toverdrank brouwen en dan de inhoud zal zijn maar een grapje.

90
00:09:19,490 --> 00:09:23,540
De klasse potions om het te leren goed.

91
00:09:23,540 --> 00:09:24,640
Wat het maakt eigenlijk niet uit.

92
00:09:24,650 --> 00:09:32,450
Dus we hebben een titel en een deel van de inhoud en dan gaan we deze post in nieuwe gebruiker die we gedefinieerd hier duwen.

93
00:09:32,810 --> 00:09:35,790
En het laatste wat we moeten doen is, behalve nieuwe gebruiker.

94
00:09:35,840 --> 00:09:39,070
Dus een nieuwe gebruiker die op te slaan als dat.

95
00:09:39,070 --> 00:09:47,030
En we eigenlijk al deze schriftelijke dus ik zal gewoon opnieuw dat en uncomment dat en dit zal proberen en opslaan.

96
00:09:47,150 --> 00:09:48,920
Als er een fout zal het ons laten weten.

97
00:09:48,980 --> 00:09:56,880
Anders zal het ons de gebruiker en dan commentaar al deze spullen naar beneden hier over berichten en net behalve dat en laten we zien wat er gebeurt.

98
00:09:57,110 --> 00:10:06,340
Dus hebben we onze post schema die u vervolgens gedefinieerd hebben wij de gebruiker schema en het nieuwe deel is hier waar we een reeks van berichten binnen van de gebruiker.

99
00:10:06,740 --> 00:10:10,080
En dan zijn we het creëren van een nieuwe gebruiker en duwen in die post recht.

100
00:10:10,550 --> 00:10:12,610
Laten we geven het een schot.

101
00:10:14,230 --> 00:10:14,690
OK.

102
00:10:14,780 --> 00:10:23,700
En we terug deze gebruiker dat we hier het afdrukken van e-mails herinneren op Zweinstein naam het is Hermelien Griffel en dan in plaats van het berichten hebben we een nieuwe post.

103
00:10:23,820 --> 00:10:25,600
Dus dat werkt prima.

104
00:10:25,610 --> 00:10:33,450
Laten we nu eens iets anders proberen waar ik ga al dit uit opmerkingen te maken en in plaats van het creëren van een nieuwe gebruiker laten ophalen van de bestaande gebruiker.

105
00:10:33,530 --> 00:10:35,350
Dus ik ga haar mijnbouw te halen.

106
00:10:35,480 --> 00:10:38,570
Dus ik zal dat doen met de gebruiker te vinden.

107
00:10:38,740 --> 00:10:40,660
En ik ga voor het gebruik van een vinden.

108
00:10:40,820 --> 00:10:44,760
Anders vind zal me een array te geven en ik wil gewoon een ding terug.

109
00:10:44,780 --> 00:10:58,180
Dus we gaan doen je niet vinden zal men zien waar de naam is Hermelien Griffel en dan zullen we onze standaard callback fout doen en we zullen gewoon noemen deze gebruiker.

110
00:10:58,220 --> 00:11:00,670
Hopelijk je krijgt comfortabel met dat recht nu.

111
00:11:00,860 --> 00:11:06,750
Dit recht hier de callback dat we schrijven vrijwel elke keer dat we iets met Mongoose doen en dan gaan we gewoon doen.

112
00:11:06,950 --> 00:11:26,360
Als er ooit dialoogvenster raad fout en dan Anders zullen we voortdurend bug gebruiker en ik heb een extra bracket ik nodig om zich te ontdoen van elke gaan.

113
00:11:26,360 --> 00:11:29,570
Dus dit is gewoon om haar mijn nieuwe back niets nieuws te vinden.

114
00:11:29,570 --> 00:11:34,430
We zijn gewoon het vinden van een nieuwe gebruiker en het werkt.

115
00:11:34,430 --> 00:11:36,200
We krijgen de gebruiker terug te komen.

116
00:11:36,290 --> 00:11:39,030
Haar naam is haar geest dat ze e-mails haar geld op Zweinstein.

117
00:11:39,320 --> 00:11:44,690
OK nu laten we veronderstellen Ik wil een andere functie toe te voegen, want dit is dan ook één voor velen.

118
00:11:44,720 --> 00:11:46,940
Dus een gebruiker kan meerdere berichten te hebben.

119
00:11:47,030 --> 00:11:48,680
Laten we dat nu doen.

120
00:11:48,710 --> 00:12:08,280
Dus binnenkant van de anders als we vindt de gebruiksvriendelijkheid We gaan een stukje code toe te voegen in een nieuwe post lopen en dan dat eruit ziet als deze gebruiker berichten omhoog te duwen net als voorheen en deze keer zal duwen in een andere post dus we zullen duwen in de titel en de titel is drie dingen.

121
00:12:08,600 --> 00:12:16,490
Ik heb echt een hekel aan en de inhoud zal des te meer des te meer zijn.

122
00:12:16,940 --> 00:12:18,150
En Voldemort.

123
00:12:18,350 --> 00:12:23,020
Oké erg creatief bericht daar herinneren me en we zullen doorgaan en bewaar deze.

124
00:12:23,060 --> 00:12:31,360
Dus we moeten nog wel een gebruiker op te slaan en dan zullen we na afloop aan onze callback.

125
00:12:31,460 --> 00:12:33,470
Nog een van deze fout.

126
00:12:33,710 --> 00:12:36,440
En we zullen gewoon opnieuw te bellen deze gebruiker.

127
00:12:36,440 --> 00:12:47,660
En in plaats van hier te zullen doen als error console log error anders teniet log gebruiker.

128
00:12:47,660 --> 00:12:50,240
Oke dus dit is wat sommige mensen terugbellen zouden noemen.

129
00:12:50,240 --> 00:12:52,570
Hell we hebben veel callbacks hier.

130
00:12:52,670 --> 00:12:59,780
We hebben dit eerste is het vinden van haar geest het vinden van die gebruiker die we krijgen en dan zijn we duwen in een nieuwe post.

131
00:13:00,090 --> 00:13:02,050
Maar dat betekent niet daadwerkelijk toe te voegen aan de database.

132
00:13:02,120 --> 00:13:03,600
We moeten dan het op te slaan.

133
00:13:03,800 --> 00:13:07,330
En dus we hoeven gebruiker op te slaan en deze gebruiker hier.

134
00:13:07,400 --> 00:13:19,010
Deze twee verwijzen naar de gebruiker die terugkomt wanneer we haar geest het de eerste keer en dan zijn we het opslaan en vervolgens deze gebruiker verwijst naar wat terug van de op te slaan komt.

135
00:13:19,040 --> 00:13:24,170
Dus deze gebruiker hier heeft nu de nieuwe post aan toegevoegd en op te slaan in de database.

136
00:13:24,290 --> 00:13:29,390
Het is de gegevens die bij ons terug komt van Mongo en dan zijn wij het printen.

137
00:13:29,390 --> 00:13:30,340
Laten we het nu proberen.

138
00:13:30,500 --> 00:13:33,200
Dus laat me te ontdoen van deze eerste tegenlist log.

139
00:13:33,230 --> 00:13:34,890
Laat het gewoon zo.

140
00:13:34,970 --> 00:13:41,400
Laten we duidelijk ervoor zorgen dat we hebben geen andere code die dat gaat bemoeien met onze accounts over logs.

141
00:13:41,780 --> 00:13:43,970
Laten we lopen het.

142
00:13:44,090 --> 00:13:44,750
Okee.

143
00:13:44,930 --> 00:13:59,180
Dus wat we zien, is dat we nu het afdrukken van een enkele gebruiker Hermelien die twee posten als eerste en de tweede heeft en ze zijn allebei opgeslagen binnenkant van de paal attribuut op de single user.

144
00:13:59,180 --> 00:14:00,850
Dus het is een te veel.

145
00:14:01,380 --> 00:14:01,660
OK.

146
00:14:01,670 --> 00:14:02,940
Dus dat is alles wat ik wil laten zien.

147
00:14:03,020 --> 00:14:04,890
Laten we nadenken zojuist dit kort.

148
00:14:04,940 --> 00:14:10,190
Dus begonnen we bij zitten bij Mongoose en we hebben twee modellen en ze waren onafhankelijk te beginnen.

149
00:14:10,370 --> 00:14:15,380
En dan bijbehorende we ze door de toevoeging van deze post schema array om de gebruiker schema.

150
00:14:15,590 --> 00:14:19,190
Dus nu een gebruiker heeft een scala aan berichten en het begint leeg.

151
00:14:19,430 --> 00:14:31,290
Maar dan voegden we om het door te drukken in post dot duwen en vervolgens opgeslagen we in de volgende video zal je laten zien op een andere manier te associëren gegevens met behulp van de zogenaamde object gevonden.
