Welkom terug deze video ga ik je laten zien de andere kant van het associëren van gegevens die is met behulp van object gevonden.
Dus voordat we aan de slag ga ik naar een nieuw bestand hier te maken in dezelfde map en ik zal dit één noemen.
Referenties leerde J.
En ik ga gewoon alles over in dat bestand te kopiëren van onze vorige les en ik ga om dit te veranderen.
Het eerste wat ik zal doen is de database die we gebruiken gewoon zo dat we geen dingen zijn tegenstrijdig en we zijn niet overschrijven wat we zojuist eerder deden.
Dus ik ga maken de naam blogg demo onderstrepen ook.
Okee.
En dan ga ik om verder te gaan en gewoon te ontdoen van een heleboel dingen in hier.
Vrijwel alles wat afgezien van ons schema dat we in de modellen.
En Ik zal beginnen door te praten over wat het betekent om gegevens te verwijzen versus te bedden.
Dus wat we deden de laatste keer in de laatste video was dat we ingesloten gegevens waar we een gebruiker die iets als dit ziet er met een naam had en er is een e-mail in daar ook.
En dan is er een POST-array en elke post in die array was eigenlijk binnen de array opgeslagen, net als het onderhavige, waarin de titel en inhoud.
Daar gaan we.
En we hebben die je kent vijf zes zoveel als we willen en horen verschillende berichten in de POST-array.
Nu wat ik ga om te laten zien in deze les is zeer vergelijkbaar, behalve wat we eigenlijk doen is een poster-array en binnen alles wat we gaan slaan hier in plaats van de werkelijke berichten.
We gaan een heleboel-id's hebben, zodat we deze lange ID's die er uitzien als dat en ga zo maar door zult hebben.
En deze ideeën zal overeenkomen met de individuele berichten.
Dus dan zullen we een post hier dat ID gelijk is aan dit moet hebben en het zal u de titel iets anders en ga zo genoemd.
Dus nogmaals het belangrijkste verschil is dat we het opslaan van IDs dat is waar de naam verwijzing vandaan komt.
We verwijzen naar de ID van een andere functie in plaats van het inbedden van het hele bericht.
OK dus laten we beginnen.
En we moeten een paar wijzigingen in onze schema te maken in plaats van berichten zijn een reeks van de post-schema.
Wat we eigenlijk maken het een array.
Maar we gaan om een ​​object te passeren in en het object gaat uitzien.
Ik bedoel ruimten erop maar een klein beetje.
En ons doel zal hebben twee belangrijke eigenschappen type en ref en het type gaat worden mangoest dat schema types dot object-ID en ref zal posten.
Dus laten we praten over wat ik hier deed.
Ik heb gezegd dat de gebruiker schema is er een post attribuut en het is een array, maar in plaats van een reeks van berichten, zoals we hier hebben.
Of het is een array van de post schema.
Het is eigenlijk een serie van object ID's.
En dit is gewoon de manier waarop we schrijven dat syntax.
Het is een mangoest object id die behoren tot een post en we kunnen redden.
En net om ervoor te zorgen dat we niet iets mis kunnen we het bestand uit te voeren zorg ervoor dat we niet een fout doen.
Grote.
Nu laten we beginnen door het creëren van een enkele gebruiker die we vervolgens post naar later kunt toevoegen.
Dus wees gebruiker aan te maken en deze zal een e-mail van Bob geven at gmail dot com en een naam zal Bob Filcher en we zullen besparen en dan zullen we laat het gewoon als dat en we zullen gewoon aannemen dat dit gaat werken in plaats van het toevoegen van de callback in.
Dus dit is gewoon onze eerste gebruiker te maken.
Dus laten we het bestand uit te voeren.
Okee.
Dus we zien niet alles, maar we konden in Mangu gaan en check it out.
Dus laten zien Digby's gebruik log demo onderstrepen ook en dan kunnen we doen de gebruikers vinden en we hebben één gebruiker met zijn naam.
Bob Belcher e-mail Bob at gmail dot com en berichten dat is leeg, omdat er is geen berichten in nog toegevoegd.
Dus laten we hier weg en het volgende wat ik wil doen is het toevoegen van een bericht aan deze gebruiker, dus ik ga om zich te ontdoen van die te creëren verklaring te krijgen en ik zal naar buiten komen, zodat je het kunt zien en wat ik zal doen is het maken van een nieuwe post.
Dus postdoc maken en we maken dat onafhankelijk van de gebruiker.
Dus we maken dat bericht en we zullen het geven van een titel van hoe je de beste hamburger en vervolgens de inhoud koken en niet alleen vullen met blah blah blahs van de wetten voor nu, net als dat en zal redden en dat zou ons een post en alleen maar om ervoor te zorgen dat deze keer laten we toe te voegen in de callback fout en post en we zullen gewoon annuleren dat log post en we zijn niet van plan om de fout af te handelen alleen maar omwille van de tijd en het bestand uit te voeren.
En we hebben nu een nieuwe functie toegevoegd aan de database met een ID.
Vergeet niet dat dit I.D. herinner me de hele zaak 5 6 2 5 8 3 7 8.
Nu ben ik maar een grapje.
Maar maar vergeet niet hoe het eruit ziet.
En dan hebben we onze content en dan is onze titel.
Okee.
Dus laten we daar weg.
Dus wat we willen gaan doen is praten over hoe we een post en een gebruiker met behulp van het ID-verbinding kan maken.
En om dat te doen ik ben eigenlijk van plan om te gaan door de stappen van het maken van een andere functie.
Dus laten we noemen dit hoe je de beste hamburger koken.
Part Two en dit zal een nieuw bericht te maken en zodra we besparen die post We vervolgens naar de gebruiker PABX vinden.
Dus we gaan om een ​​gebruiker te vinden te doen en we doen een vinden en wij zullen uw naam te vinden.
Laten we e-mail deze tijd waar e-mail is Bob at gmail dot com en dan zullen we deze code achteraf ooit draaien en dan zullen we vonden dat we dit vonden gebruiker zullen noemen.
OK.
Zo veel aan de hand.
Dus we het creëren van een bericht zodra het bericht is gemaakt.
We zijn het vinden van een gebruiker in dit geval deze gebruiker hier dat we al hebt gemaakt en dan gaan we de fout af te handelen als we moeten.
Anders gaan we vervolgens naar de post in de gebruikers berichten toe te voegen.
Dus het vinden van de gebruiker berichten dat is wat we noemden het hier en we gaan duwen push bericht en post verwijst naar de post die we zojuist gemaakt die veilig was is het gegevensbestand met de titel Hoe de Vestberg of inhoud Cook blah blah blah blah blah.
We redden het als het werkt.
We hebben een post variabele die het opslaan van de post en vervolgens verfijnen van de gebruiker.
In dit geval is de ene met e-mail Bob at gmail dot com.
En als we het vinden we vervolgens naar de nieuwe post in die gebruikers posten reeks toe te voegen.
Laten we dan behalve dat.
Dus daarna moeten we een andere gevonden gebruiker hoeft te redden.
En ja, we hebben behoefte aan een ander callback en deze zal fout hebben en laten we deze gegevens te roepen alleen maar om het echt duidelijk wat er gebeurt te maken.
En hier Ik ga gewoon weer omgaan met de fout en dan als er geen fout gaat dat loggegevens te annuleren.
Alle juiste man hebben we hier veel.
Zo maakt u een bericht vindt de gebruiksvriendelijkheid en dan die post duw hem in de gebruikers berichten op te slaan van de gebruiker en toen dat gedaan is een afdruk van de gegevens.
Laten we eens kijken wat we krijgen.
Okee.
Dus dat werkte.
Hier is onze gebruikersnaam Bob Belcher e-mail.
Hier is de user id en dan in plaats van het berichten alles wat we hebben is een array met één punt en het is een object-ID versus toen we de embed J.S. waar we werken met ingesloten gegevens.
We hadden het hele bericht, zodat deze array in plaats van dat we eigenlijk zagen de data.
Nu zijn we alleen het zien van de ID-zo.
Dus laten we gaan toevoegen één meer.
Dus we deel 3 te doen.
En de tekst van die ene plaats van blah blah blah.
Het is gewoon te jibberish net, zodat het makkelijker is om uit elkaar te houden.
En de consul zal dat bericht toe te voegen.
Nu hebben we twee object IDs hier en elk komt overeen met een afzonderlijk bericht.
OK.
Dus dat is hoe we ze kunnen associëren.
Maar nu moeten we uitzoeken hoe we dit object id en vind de juiste paal.
Laten we zeggen dat we willen een gebruiker te vinden.
En dan wil ik vind dat de gebruikers te plaatsen zo goed en niet alleen de id's, maar ik wil alle gegevens.
Dus ik ga naar de console te wissen en ik ben ook van plan om hier commentaar uit deze kolos.
En dus wat we willen doen is het vinden gebruiker en dan vind alle berichten voor die gebruiker.
En er is eigenlijk een manier om dat te doen in een keer.
Dus moeten we de gebruiker eerst te vinden.
Dus dat is de gebruiker up te vinden en we zullen weer één weet te vinden en dan moeten we passeren en wat we op zoek bent naar die e-mail waar het is Bob at gmail dot com.
En dan is dit iets nieuws.
Dus we hebben niet eerder gezien.
Dot bevolken we gaan posten te vullen en vervolgens dot exec en ik zal dit allemaal in slechts een moment uit te leggen.
OK.
Dus wat we hier gedaan hebben we een langere query die meerdere stukken heeft geschreven.
Dus we het vinden van een gebruiker.
En dan zijn we het veranderen van deze bevolken posten die daadwerkelijk zal bevolken het veld berichten opzoeken al die object-id's te vinden van de juiste gegevens en vervolgens plakken in de post array en dan lopen we exec om de query daadwerkelijk te starten.
Dus het is een beetje raar.
We zijn het vinden van een.
Maar merken dat we niet met behulp van een callback hier en we zijn het veranderen van populate en dan zijn wij het geven van Dot exec aan het einde die eigenlijk dit alles gebeuren zal maken.
Dus toen we passeren callback in exec, want dat is wanneer we de code zijn uitgevoerd.
En als we dit recht.
Dus laten we controleren of er een fout.
Eerste Raad die fout te melden.
Anders hopelijk onze gebruiker gaat naar alle berichten vooraf ingevuld binnen de palen toeschrijven zo zal dat log gebruiker te annuleren en laten we proberen het uitvoeren van deze.
Zorg ervoor dat alles is uitgecommentarieerd behalve dit.
Laten we rennen.
En wat weet je.
Het werkte.
Dus we krijgen een gebruikersnaam is Bob Belsher email Bob at gmail dot com.
Maar nu post is niet alleen een reeks van object ID's.
Het heeft eigenlijk het volledige bericht in.
Beide.
Zodat u kunt zien het heeft wel een idee wat we moeten tevreden zijn en de titel de inhoud en de titel.
Dus om alles wat we hebben we gegevens op te slaan, dat het lijkt alsof het hier met object-id's samen te vatten.
U kunt de twee objecten ID's zien en dan hebben we een tweede query om de gegevens op te halen en we vulden in de post Saray met alle gegevens met behulp van bevolken dat exec.
Dus u vraagt ​​zich misschien af ​​waarom wij één ten opzichte van de andere zou gebruiken.
Toen zouden we insluiten van gegevens ten opzichte van toen zouden we gebruiken object id gevonden.
En het is een echt goed en heel belangrijke vraag die zullen spreken als we ze gebruiken in plaats van ons kamp.
Het korte antwoord is dat het afhankelijk is.
En je kunt krijgen door het gebruik van een van beide stijl en vrijwel elke situatie.
Er is echter meestal één hetzij met behulp van verwijzingen of het inbedden van gegevens die gaat zich beter lenen voor wat je doet en we praten over dat als we door uw kamp en we beginnen te voegen in de opmerkingen en de gebruikers en we voegen in ratings en foto's en al deze verschillende functies.