2016-02-19 29 views
5

I read że embedsMany (w przypadku nierelacyjnego db) umieszcza osadzone modele w dokumencie modelu nadrzędnego. Podczas gdy hasMany tworzy nową kolekcję modelu potomnego, a relacja jest tworzona między kolekcją nadrzędną a kolekcją podrzędną. A co z referencesMany?Jaka jest różnica między hasMany i referenceMany w pętli zwrotnej Strongloop

Istnieje również this przykład projekt, gdzie customerreferencesManyAccount i hasManyOrder. Nie rozumiem różnicy.

Odpowiedz

6

embedsMany: umieszcza wszystkie dane podrzędne (naturalnie i relacje) w swoim modelu. każde dziecko nie ma żadnego id i nie może być ponownie użyte w innych wierszach). potrzebuje tylko jednej kolekcji dla modelu dziecka i rodzica.

referencesMany: stawia tylko id dziecięcej relacji (numer referencyjny) sama w sobie wzór i umieszcza dane w modelu dziecięcej (bez konieczności przechowywania nadrzędnego id modelu w modelu dziecięcej i modelu dziecko id jest wielokrotnego użytku dla innych modeli). potrzebuje rzeczywistej kolekcji dwóch dla modelu rodzic i dziecko.

hasMany: umieszcza dane podrzędne i identyfikator rodzica w modelu potomnym. potrzebuje zbyt rzeczywistej dwóch kolekcji;