OK welkom terug.
Het is tijd dat we wat we hebben geleerd over Mongo D.B en ongeveer mangoest en we voegen, die in ons kamp applicatie, zodat we een aantal gegevens doorzettingsvermogen kan toevoegen.
Dus de drie belangrijkste stappen zijn het installeren en configureren mangoest en dan hebben we het opzetten van het model het schema en het model voor de camping.
En dan moeten we naar de camping model gebruiken in plaats van onze routes.
Voordat we verder gaan wil ik erop wijzen dat ik met behulp van de V-2 van het kamp, ​​dus ik een ander exemplaar van V-1 gemaakt en ik ga werken binnenkant van deze voor de volgende paar video's.
En dat komt omdat we gaan beginnen met het maken een aantal grotere veranderingen.
Sommige bestanden gaan bewegen, maar ik wil je nog steeds in staat zijn om te kijken naar de V-1 code.
Dus V-2 en ik zal er zeker om u te laten weten wanneer we gaan werken in plaats van v3.
Dus laten we eens kijken wat we hebben voor nu.
Laten we lopen na ja.
En verfrissen.
OK.
Dus hebben we onze camping kunnen we een nieuwe camping toe te voegen, maar natuurlijk hebben we het probleem, waar zodra ik de server opnieuw op te starten en de nieuwe campings die voegen we gaan verdwijnen.
Dus laten we aan te pakken die.
Laten we alles open te stellen dat we nodig hebben die eigenlijk gewoon de app Jasc bestand voor nu.
En het eerste wat we willen doen is het installeren van mangoest.
Dus NPM installeren mangoest dash dash te slaan en terwijl dat gaat we willen ervoor zorgen dat we ons proces op de achtergrond draaien.
Man-God OK dat is nu gedaan en we konden kijken naar de verpakking.
Jason dubbele controle die we hier hebben mangoest.
Daar gaan we.
Het is nu hier.
We gaan mangoest save het nodig hebben om een ​​variabele genaamd mangoest net als dat.
En één snelle kanttekening wat je heel vaak ziet als we hebben veel van de benodigde verklaringen up top is zoiets als dit, waar we eigenlijk kunnen ontdoen van de Varsity de verklaringen en dit doen als we meerdere declaraties van variabelen op een rij.
We kunnen ze scheiden door komma's.
Daar gaan we.
En dit zal een variabele met de naam uitdrukking andere een zogenaamde bij lichaamstemperatuur parser te maken en Mongoose het zal precies hetzelfde werk.
We hoeven niet te ver over en schrijven.
En wat je ziet ook soms is dat mensen deze zullen line-up zodat het lijkt alsof dit.
En dat is echt een kwestie van persoonlijke voorkeur.
Ik zal het hier voor nu gewoon zo dat je het ziet vertrekken.
Maar je zult het zien in beide richtingen.
Het heeft geen invloed op de manier waarop de code werkt.
Het is slechts een kleine stilistische verandering.
OK dus laten we redden en uit te voeren Knode nadat Jezus ervoor te zorgen dat we geen fouten te krijgen.
Grote.
Nu wat we willen doen is aan te sluiten mangoest.
Dus we gaan doen mangoest verbinden en we hebben niet een database nog in onze Mongar TV voor dit dus we kunnen gewoon een dynamisch en we nodig hebben om verbinding te maken met Mongo DB colon slash slash localhost slash en dan is de naam voor een databank die nog niet bestaat.
Dus laten we gewoon noemen het Yelp kamp net als dat en op te slaan.
En dit zal de Yelp kamp database te maken voor ons in plaats van Mangu D-B en we kunnen gewoon testen of als we de app grote helemaal geen problemen draaien.
Het volgende wat we moeten doen is het opzetten van onze schema en ik ga dat hier beneden te doen.
Dus ik een beetje commentaar toe te voegen.
Schema opgezet en dit bestand gaat een beetje lang te krijgen en in de toekomst video we gaan het refactoren.
Dus dit is niet de manier waarop je dit in een echte productie-app zou doen.
Als je had 10 verschillende modellen en verschillende schema's het zou pas echt gek heel snel, vooral als je een heleboel routes gehad.
Dus we breken dit in afzonderlijke bestanden later, maar voor nu zijn we gewoon te doen een schema.
Dus laten we noemen het var camping schema en dan kunnen we stellen dat gelijk is aan nieuwe mangoest schema om kapitaal ons.
En voor nu een camping heeft gewoon een naam die een string en een beeld.
Dat is ook een string en we zijn gewoon met behulp van wat we hier al hebben en we zullen redden dan is het laatste wat we moeten doen is samen te stellen dat in een model var camping is gelijk aan mangoest topmodel en vervolgens hier weer camping in aanhalingstekens.
En dan tot slot het schema dat is camping schema.
Oke, dus wat dat zou moeten doen is ons een model nu dat gebruik maakt van dit schema en heeft een heleboel methoden op het dus we dingen als camping spullen kunnen doen.
En het eerste wat we willen doen is het toevoegen van een eenvoudige camping.
Dus laten we gewoon een van deze en we zullen gewoon een kamp neer camping te creëren om te beginnen.
Dus dat ziet er zo uit.
En dit is slechts een tijdelijke zaak alleen maar om ervoor te zorgen dat dingen werken we gaan het zo snel als we het uit te proberen te verwijderen.
Dus camping maken en vervolgens herinner me dat we pas in het object dat we willen creëren.
Ik ga dit een klein beetje mooier net als dit formatteren.
Dus we maken het voorwerp eerst en dan hebben we dat callback functie achteraf.
Het eerste wat is de fout en dan zou de tweede de camping zijn.
En we zullen gewoon een eenvoudige constante log.
Dus als fout annuleert dat log fout anders annuleert het logboek nieuw gecreëerde camping.
Gewoon zo.
En dan op de volgende regel zullen we cons doen ..
Ugh.
Camping.
OK.
Dus ja het is een stuk van de code.
Maar wat we doen is het creëren van een camping met deze gegevens en dan heb ik gewoon gespreid it out in plaats van het doen het allemaal op één gigantische lijn.
Ik heb het gespreid dus we hebben de callback functie die wordt uitgevoerd zodra dit wordt gedaan.
Of het lukt of is er geen callback functie en we zijn het verwerken van de foutafhandeling het vrij.
Dus we gewoon af te drukken op een fout.
En als er geen fout was, dan gaan we uit te printen de camping.
Okee.
Dus wat we nu kunnen doen is het testen dit uit gewoon door het uitvoeren van node.
Daar gaan we.
Nieuw gecreëerde camping.
Zodat creëren werkte.
Er was geen fout niets afgedrukt.
Dus we hebben dit en het ziet eruit als afbeelding en naam.
En ook om te controleren of de Mongo Raad kan openen en kunnen we een show TBS doen.
Hier is onze nieuwe Joachim database en we kunnen geen gebruik maken van Yelp cam net als dat.
En dan wat we kunnen doen is laten zien collecties en hebben we campings die wordt gegenereerd, omdat de naam van ons model Cingular is camping en het meervoud het voor ons.
En wat we kunnen doen is D-B campings hoopt campings die te vinden.
En daar gaan we een camping heeft een ID automatisch toegewezen naam en imago.
Geweldig.
Dus laten we af te sluiten en dan toe te voegen in één camping te gaan om zich te ontdoen van deze.
En in plaats van Semin Creek we granieten hill doen en ik wil gewoon ons naar een aantal starter data om mee te werken.
Dus noem het net als dat.
En dan kunnen we dit uitvoeren opnieuw opslaan node.
Ja, er is onze tweede camping die we gemaakt hebben granieten Hill en dat is genoeg voor nu.
Het volgende wat we willen doen is het vervangen van alle van deze code hier.
We kunnen ontdoen van al deze code, maar we willen ook alle code waar we met behulp van die camping array in plaats van een hard gecodeerde matrix vervangen.
Wat we hier gaan doen als we het krijgen van alle campings en ze te laten zien op de lijst deze pagina hier gaan we alle campings uit de database op te halen, zodat we kunnen doen die eerste.
Ik ga deze lijn commentaar uit voor nu.
We moeten alle campings uit de D-B te krijgen en dan willen we dat bestand weer te geven.
En de manier waarop we krijgen alle campings is met camping vondst en we zijn op zoek naar alles.
En dan moeten we een callback functie en het neemt de fout eerst en dan zal onze parameter campings worden genoemd en zal altijd controleren of er een fout als fout.
En we zullen gewoon een constante log fout.
Voor nu zullen we beter fout hebben handling later waar we eigenlijk een bericht naar een gebruiker bent tonen.
Voor nu zijn we gewoon af te drukken uit.
En dan is hier wat we gaan doen is wel een rode stip te maken zoals wij hier hebben en kunnen we eigenlijk laten hoe het is.
En de reden daarvoor is dat we nog steeds het bestand wilt campings te maken en in de kampeerterreinen bestand We verwachten dat het zogenaamde campings zijn.
Het verschil is de bron van de camping is niet langer de array die we hadden hier camping is hier gedefinieerd.
Dus laten we het een beetje duidelijker.
Ik noem dit alles campings als dat.
En dan is hier zal ik dit veranderen.
Alle campings zodat u kunt de verbinding te zien.
Dus we doen een camping om alle campings in de collectie op te sporen.
Als dat gedaan run deze code.
De callback.
Als er een fout uit te printen de fout.
Anders nemen alle campings.
Het kwam net terug en stuur ze door naar de camping die E.J. heeft ingediend.
Als we nu besparen en we de server opnieuw en ik ga om zich te ontdoen van deze voor nu uitgecommentarieerd anders zullen we eindigen met een granieten heuvel in onze database.
Dus nu zullen we de server te starten en de pagina vernieuwen we slechts twee campings en dat is precies wat we willen zien.
Deze twee zijn beiden in de database en we zijn niet langer te maken met die camping in array die moeilijk is gecodeerd.
Deze zal altijd in de database totdat we ze te verwijderen.
Maar in ieder geval als de server opnieuw wordt opgestart, of we hebben geen problemen daar zijn ze nog steeds bestaan.
Dus nu is het focussen op het krijgen van deze werken, zodat wanneer een gebruiker nieuwe camping voegt het werkt.
En op dit moment hebben we een klein probleem.
Als ik enkel type jibberish hier en raakte indienen krijg ik een foutmelding.
Camping is niet gedefinieerd en het is me te vertellen dat er op eigenlijk ja lijn 54, die is hier waar we de nieuwe camping bent duwen in campings.
Maar dat camping lade is niet gedefinieerd, omdat we hem verwijderd.
Vroeger was het een pier en we verlost van het aan dit werk de manier waarop we willen dat het te maken.
We niet deze lijn meer nodig.
En in plaats daarvan wat we willen doen is het creëren van een nieuwe camping en opslaan in database.
Dus dit zal hetzelfde blijven waar we moeten de naam en het beeld grijpen en dit zal hetzelfde zijn als ook blijven waar maken we dit object.
En dan wat we kunnen doen is gewoon op te slaan die aan de database en kunnen we ofwel creëren met kampeerterrein dat te maken en vervolgens het eerste argument is er het nieuwe ding we willen creëren die we al gunstig zijn opgeslagen in een object met de naam nieuwe camping zo we kunnen passeren die in en dan moeten we de callback functie, net als dat.
En vergeet onze twee argumenten fout en we noemen deze nieuw gecreëerde net als dat en we zullen ons doen als er een fout en als er een fout als er een probleem is met het formulier de gegevens die de gebruiker invoert dan zouden we moeten na te denken over wat we eigenlijk willen dat er gebeurt.
En uiteindelijk wat wij zullen doen is stuurt de gebruiker terug naar het formulier opnieuw en laat ze een bericht dat zegt iets als foto Caffey leeg of naam Campi blanco of naam Campeon nummer of wat het ook is.
Maar we kunnen ze laten een boodschap.
Voor nu zijn we steken met onze beproefde constant alt logboek van de fout en vervolgens Anders als het werkte, hoewel we moeten doen is teruggaan naar campings, net als dat.
Redirect terug naar campings.
Daar gaan we.
En dan zal dat deze route weer oplopen hier waarin u alle campings, waaronder de gloednieuwe degene die zojuist is toegevoegd en dan zal het ons weer laten zien dit sjabloon vinden.
Dus laten we testen het uit.
Ik ga naar de server opnieuw op te starten en ik ben ook van plan om een ​​afbeelding te gebruiken grijpen en ik zal dit hier te gebruiken.
Exemplaar dat u Aro dan ga ik hier het openstellen van de app en te vernieuwen op OK en dan zullen we proberen en voeg een nieuwe camping.
En deze zal rustplaats Cloud's die in hit te dienen genoemd worden en het blijkt dat het werkte.
Je gaat hier terug.
We hebben geen fouten te krijgen.
En als we de pagina vernieuwen toont nog steeds omhoog en als we de server opnieuw dit is de echte test.
Het is er nog steeds.
OK.
Dus we hebben data persistentie ingevoerd om onze campings.
De server kan stoppen met die kracht kunnen gaan welke calamiteit kunnen voorkomen.
En onze gegevens nog steeds bestaan.
Dus laat me terug te gaan naar Cloud 9 en ik zal een korte samenvatting van wat we deden.
Dus voegden we mangoest in hier.
We aangesloten op een gil kamp databank die niet bestonden op het moment dat we voor het eerst deze code, maar elke volgende keer was het met behulp van de in eerste instantie gecreëerd kamp-database liep en dan zetten we de camping schema dat nu heeft een naam en een afbeelding en dat is het.
Maar als we willen meer dingen toe te voegen.
Het is heel gemakkelijk en flexibel.
En dan is deze beruchte lijn waar we het schema compileren bent in een model waar we het nemen van deze blauwdruk voor wat een camping eruit moet zien en we zijn er veranderen in een code die we kunnen gebruiken, dat heeft een heleboel van methoden, met inbegrip vondst wat belangrijk.
We gebruiken het in onze slash camping om te komen waar we het ophalen van alle van de campings en het tonen van hen allen.
En dan ook veel te maken hier, waar we nemen de gegevens van het formulier.
En dit is een beetje verwarrend omdat er zoveel variabelen.
We grijpen de naam en het lichaam van het formulier.
We maken een nieuw object als een afzonderlijke stap.
We konden alleen deze code hebben genomen en geplakt het hier.
Maar ik graag een nieuwe zeer goed maken dat precies laat zien wat we doen.
Dus nieuwe camping is de naam van een object een beeld uit de vorm dan creëren we met die dekking callback functie die ooit zal lopen de Create wordt gedaan of het lukt of niet.
En dan behandelen we de fout in hier.
Op dit moment hebben we heel erg basic error handling.
Nu je niet echt hanteren Het is gewoon fout erkennen, waar we gewoon afdrukken van de fout en vervolgens anders wel werken gaan we terug naar de kampeerterreinen pagina die ons hier terug neemt.
Oké dus we hebben nu mangoest aangesloten.
We hebben onze database opgezet.
We gaan houden met deze en binnenkort gaan we naar een ander model en een ander schema voor gebruikers te zien krijgen wanneer we authenticatie van de gebruiker voor commentaar toen we opmerkingen in en een aantal andere leuke dingen toe te voegen.