2016-06-10 7 views
1

Ich habe eine Postgres-Datenbank, die ich benutze, um eine sails.js-getriebene Website zu erstellen, die die Wasserlinie für ORM verwendet.Waterline.js Joins/Populate mit existierender Datenbank

Ich bin in Ordnung mit meiner Datenbank in seiner bestehenden Form für alles andere als Population, d. H. Joining-Tabellen.

Wenn ich mit einer nicht produktiven Datenbank arbeite, bin ich mit der Erstellung von Join-Tabellen durch Waterline vertraut, aber ich bin mir nicht sicher, wie ich diese umgehen kann, um mit den aktuellen Tabellen und deren Fremdschlüsselbeziehungen zu arbeiten. Um eine Vorstellung von den Arten von Tabellen zu geben ich würde in der Regel habe ich habe ein Beispiel unten gezeigt:

| Intel  |  | 
|-------------|--------| 
| Column  | Type | 
| id   | int PK | 
| alliance_id | int FK | 
| planet_id | int FK | 
| dist  | int | 
| bg   | string | 
| amps  | int | 


| Alliance |  | 
|----------|--------| 
| Column | Type | 
| id  | int PK | 
| name  | string | 
| score | int | 
| value | int | 
| size  | int | 


| Planet |  | 
|-----------|--------| 
| Column | Type | 
| id  | int PK | 
| rulerName | string | 
| score  | int | 
| value  | int | 
| size  | int | 

So in den obigen Tabellen würde ich normalerweise in der Lage sein, Intel beitreten -> Alliance und Intel -> Planet und greifen Sie auf die Daten über jedes von ihnen zu.

Was brauche ich in meinem Wasserlinienmodell von Intel, Alliance, Planet, um einfach darauf zugreifen zu können?

Ich würde gerne ein tun:

Intel.find({alliance.name= 'test'}) 

oder

Intel.find().populate('planet') 

und dann irgendwie in der Lage intel.planet.score zugreifen oder intel.alliance.name etc

Danke für jede Hilfe. Ich kann weitere Informationen hinzufügen, falls erforderlich, lass es mich in den Kommentaren wissen.

Antwort

0

zuerst erstellen Modelle für alle Datenbanken Tabelle, wie erwähnt here Sie Modelle bevölkern können und Rückkehr schließt sich ergibt

+0

Das Beispiel eine einzige Join-Tabelle aussieht. Ich habe eine Junction-Tabelle in meiner aktuellen DB, also müsste ich das ausfüllen – munkee

Verwandte Themen