2016-05-02 41 views
5

Sono nuovo di mongodb, ho solo una collezione chiamata "negozi", qui "azienda" ha molti "negozi", dovrei fare compagnia come tabella separata e fare riferimento alla tabella "negozi" o sotto è ok?Qual è il modo ideale per fare riferimento alla collezione in mongodb?

{ 
    "_id" : ObjectId("yyyyyyyyyyyyyyyyy"), 
    "type" : "Feature", 
    "properties" : { 
     "name" : "aa", 
     "address" : "bb", 
     "company" : "AAA" 
    }, 
    "geometry" : { 
     "type" : "Point", 
     "coordinates" : [ 
      yyyy, 
      xxxx 
     ] 
    } 
} 

Qual è il modo ideale per chiamare riferimento società in MongoDB?

risposta

1

Con MongoDB, è possibile incorporare i dati correlati in un'unica struttura o documento o archiviarli in modo normalizzato. È basato sul requisito.

Qui di seguito sono da MongoDB documentazione

In modelli di dati generale, utilizzare incorporato quando:

  1. avete “contiene” le relazioni tra le entità. Vedere Relazioni One-to-One modello con documenti incorporati.
  2. si hanno relazioni uno-a-molti tra entità. In queste relazioni i "molti" o documenti secondari appaiono sempre con o sono visualizzati nel contesto del "uno" o dei documenti principali. Vedere Modello Relazioni uno-a-molti con documenti incorporati.

In generale, all'utente normalizzati modelli di dati:

  1. quando incorporamento comporterebbe duplicazione dei dati, ma non fornirebbe sufficienti vantaggi prestazionali lettura per compensare gli implicazioni della duplicazione.
  2. per rappresentare relazioni più complesse molti-a-molti.
  3. per modellare grandi insiemi di dati gerarchici.

Maggiori dettagli possono essere trovati per here e here

E questo SOF answer potrebbe aiutare pure.

Nel tuo caso, se la relazione tra negozi e azienda è uno-a-molti, utilizzare la struttura incorporata.