Nell'ultima sezione abbiamo iniziato a lavorare per eliminare ciascuna delle collezioni che abbiamo creato tra ogni
singolo test e abbiamo concluso la sezione dicendo che questo non sembra davvero un buon approccio proprio
qui con questo tipo di Colback of Dune che abbiamo.
Bene, qui c'è il rovescio della medaglia.
Ecco la cosa brutta di questo.
Purtroppo non è possibile creare contemporaneamente più raccolte all'interno di Mongo.
E quindi questo tipo di approccio ci porta ad adottare questo approccio sequenziale dove disegniamo ogni
collezione una alla volta.
Ora, se non ti piace questo tipo di richiamata di doom che abbiamo qui, potremmo sicuramente
refactoring questo per loop su tutte le diverse collezioni che abbiamo.
Lascio a te il compito di fare quel refactoring se è qualcosa che vuoi davvero vedere ora davvero
importante.
Ho fatto anche un grande refuso nell'ultima sezione di Loxley e li sistemeremo entrambi in questo momento.
Prima quando mangusta carica queste raccolte su Mongo D. B e loro si riflettono e Mongo D-B Mungo
in realtà normalizza ogni nome di collezione inserendo l'intero nome della raccolta in modo che i post del blog con la
P maiuscola non siano corretti.
In realtà dovrebbe essere mantenuto o post del blog con una P minuscola come tale.
Quindi devo anche assicurarmi di aggiornare questo all'interno dell'istruzione drop proprio qui.
Quindi è stato un po 'un errore di battitura.
Ho fatto uno degli errori di battitura che conosco.
Proprio orribile.
Due di seguito ho inserito le istruzioni di richiesta errate qui.
Quindi ho detto di richiedere l'utente sorgente.
Questo non è un percorso corretto.
In effetti, vogliamo andare su una directory in tutti e tre i casi perché al momento siamo all'interno della directory
di test.
Vogliamo andare agli utenti nel codice sorgente e ottenere i diversi file del modello.
Quindi ancora due errori di battitura nel mio dalla mia parte.
Errore mio.
OK.
Spero che tu possa perdonarmi.
Quindi iniziamo a lavorare su alcuni test intorno alle associazioni.
Quindi il nostro intero obiettivo in questo momento è quello di creare commenti e post di blog di alcuni utenti li
associamo tutti insieme in qualche modo e solo un po 'vedere come funzionano come giocano insieme.
Mi aspetto che potremmo scrivere un paio di test diversi intorno a queste associazioni, quindi
creerò un utente con un commento e un post sul blog prima di ciascuno e poi vedremo come questi hanno
funzionato tutti insieme.
Quindi iniziamo definendo R prima di ciascuno,
perché sarà sicuramente un asincrono prima di ciascuno.
Alcuni sicuramente entrano per includere un callback fatto all'interno di qui.
Creeremo anche tre diverse variabili all'interno di qui che voglio utilizzare all'interno di tutti i
diversi blocchi che vengono inseriti all'interno.
Questo blocco descritto così ho intenzione di inizializzare queste tre variabili alla volta.
Ricordo che questa inizializzazione riguarda il modo in cui un oscilloscopio funziona all'interno di un javascript.
Dal momento che vorremmo assegnare queste variabili al loro interno, per ognuno di noi è
necessario assicurarsi che siano anche all'interno dell'ambito esterno.
Sta andando a trovare Joe un post sul blog e un commento.
Assicurati di avere il post del blog in lettere minuscole e la lettera c minuscola.
Ricorda che in cima alle versioni Capitol di tutti questi modelli indica che questa è la
classe del modello mentre la minuscola indica che questa è un'istanza di quel modello.
OK così Joe post sul blog in commento.
Ora creeremo uno di questi post e commenti di questo blog utente.
Quindi dì che Joe è un nuovo utente con il nome di Joe.
E notate che non hanno ancora creato alcuna associazione.
Quindi salverò il post sul blog è New Blog Post.
Avrà un titolo di jazz è grande.
E che ne dici di alcuni contenuti dello spettacolo.
È davvero.
O qualcosa di simile.
Quindi per il commento faremo un nuovo commento con una certa quantità di contenuti contrats su un post fantastico.
OK.
Questo è più o meno per tre risorse di set-up.
Quindi voglio dire che sono fuori solo per un secondo in modo da poter vedere l'intera linea su ciascuno di essi.
Torniamo dentro
Quindi, di nuovo, noterai che non ho fatto nulla che lo faccia apparire come se questi
record fossero associati in questo modo.
Quindi non ho fatto nulla per far sembrare che Joe possieda questo post sul blog o che questo commento appartenga a
questo post del blog o che Joe abbia fatto il commento stesso.
Quindi, come niente è legato tra qui solo a quattro di queste associazioni dobbiamo farlo in modo
molto diretto.
Quindi questo è solo molto diretto. Stiamo creando queste associazioni in modo molto diretto.
Iniziamo innanzitutto associando Joe al post del blog.
Quindi supponiamo che Joe abbia scritto questo post sul blog o che questo post del blog appartenga a lui.
Voglio capovolgere il nostro file utente molto velocemente e ricordarti che il post del blog qui.
Un utente può avere una collezione di post sul blog.
Quindi questo è in array proprio qui.
Possono avere una collezione di post del blog in modo da associare un post del blog con un utente.
Siamo in grado di scrivere i post sul blog del cane di Joe punto push blog post e il gioco è fatto.
Lo vedrai e penserai subito a te stesso. Wow sembra molto simile al nesting dei documenti.
Beh, sì, molto simile, molto simile.
Quindi diciamo che Joe ha una collezione di post sul blog.
Voglio che abbia una nuova associazione con questo post sul blog che abbiamo appena creato proprio qui.
Quindi inserirò l'intero post del blog.
Noterai molto importante che questo è un po 'di magia sul lato di mangusta nei post del blog.
Avevamo detto che questo sarebbe stato di tipo ID di oggetto ma abbiamo semplicemente inserito un intero modello qui.
Quindi questo è un po 'di magia sul lato delle manguste.
Mongoose riconoscerà che inseriamo semplicemente un intero modello e automaticamente diciamo
che probabilmente stanno tentando di creare un'associazione qui.
Quindi non ho intenzione di pasticciare con l'intero modello stesso.
Sto solo andando a creare questo oggetto I. D. scrivi per riferirti a questo altro post sul blog.
Gran parte di ciò funzionerà automaticamente solo per noi, anche se abbiamo
spinto l'intero modello.
Quindi ora possiamo creare un'associazione tra un post sul blog e il commento in modo molto simile.
Quindi dì commenti sul post del blog post.
Spinga il commento.
Quindi di nuovo un post sul blog ha molti commenti.
Quindi se apriamo il nostro schema del post sul blog, eccolo qui.
I commenti sono un array perché è un array.
Stiamo andando a spingere in questo modello di commento ad esso.
Mangus funzionerà esattamente allo stesso modo qui.
Sta per dire che i commenti OK dovrebbero registrare gli ID oggetto e hanno appena tentato di inserire un
intero modello.
È probabile che vogliano archiviare l'intero modello in cui vogliono solo un riferimento all'ID dell'oggetto.
Quindi di nuovo mangusta che ci ha salvato la giornata.
OK.
Ultima cosa.
L'ultimo.
In questo caso vogliamo associare Joe a questo particolare commento.
Quindi questa volta c'è una relazione.
Quindi un commento.
Come fa un utente che è Joe.
Quindi questa volta non stiamo spingendo verso una schiera di utenti che vogliono solo dire che questo
commento ha esattamente un autore ed è Joe.
Quindi, per impostare questa relazione, diciamo che commento utente stupido perché Joe Tutto questo ora proprio qui
è assolutamente magico.
La magia totale sul lato delle manguste perché sai che puoi tipo Tranne che spingere è come andare a guardare questa
cosa e dire OK è un modello.
Sì, c'è qualcosa di magico in tutto ciò che sta prendendo l'ID dell'oggetto.
Ma in questo caso proprio qui non ci sono due modi per farlo.
Diciamo che questa proprietà utente è uguale a Joe.
Quindi la mangusta ha chiaramente un centro in corso dietro le quinte o qualche tipo di intercettazione su questo incarico
proprio qui e dirà che stanno cercando di assegnare a Joe questa proprietà, ma questo dovrebbe
essere un riferimento.
Quindi è probabile che non vogliano impostare tutti come Joe dicendo che vogliono solo avere un riferimento
a Jila firmato.
Quindi di nuovo un grande pezzo di magia sul lato delle manguste.
Tutto ok.
Quindi, a rischio di diventare una sezione molto lunga, facciamo una breve pausa e
poi scopriremo come salvare tutti questi record perché non sono ancora stati salvati nel nostro database.
Quindi, per fare una breve pausa, capire come li abbiamo salvati e poi lavorare su un'affermazione.