mongodb forhold

, forhold i mongodb repræsenterer forskellige dokumenter, er logisk forbundet med hinanden.forhold kan være udformet via, indlejrede og, der nærmer sig.sådanne forhold kan enten være 1: 1, 1: n, n - 1 og n. n. lad os overveje spørgsmålet om oplagring af adresser for brugerne.så, en bruger kan have flere adresser, at gøre det til en 1: n forhold. efter er stikprøven dokument struktur, bruger, dokument −, {"_id": objectid ("52ffc33cd85242f436000001"), "navn": "tom hanks", "kontakt": "987654321", "født." "01-01-1991"), som er stikprøven dokument struktur, adresse, dokument −, {"_id": objectid ("52ffc4a5d85242602e000000"), "bygning": "22, indiana passende", "pincode": 123456, "by": "los angeles", "medlemsstat": "californien"}, model indlejrede forhold i den indbyggede tilgang, vil vi sætte adressen dokument inden for brugeren dokument. ("_id": objectid ("52ffc33cd85242f436000001"), "kontakt": "987654321", "født": "01-01-1991", "navn": "tom benzami "," adresse ": [{" bygning ":" 22, indiana passende "," pincode ": 123456," by ":" los angeles "," medlemsstat ":" californien "} {" bygning ":" 170, akropolis passende "," pincode ": 456789," by ":" chicago "," medlemsstat ":" illinois "}]), og denne fremgangsmåde bevarer alle relaterede oplysninger i et enkelt dokument, som gør det let at finde og fastholde.hele dokumentet kan hentes i et enkelt spørgsmål, som denne −,,> db. brugere. finder ({"navn": "tom benzamin"} {"adresse": 1}), konstaterer, at den i ovennævnte spørgsmål, db, og brugere, er databasen og indsamling. den ulempe, er, at hvis det indbyggede dokument vokser for meget i størrelse, kan det påvirke læse /skrive ydeevne., model til forhold, det er den holdning, at designe normaliserede forbindelser.i denne strategi, både brugerne og adresse dokumenter vil blive opretholdt, separat, men brugeren dokument vil indeholde et felt, der vil reference adressen dokument, id, område. ("_id": objectid ("52ffc33cd85242f436000001"), "kontakt": "987654321", "født": "01-01-1991", "navn:" tom benzamin "," address_ids ": [objectid (" 52ffc4a5d85242602e000000 "), objectid (" 52ffc4a5d85242602e000001 ")]), som det fremgår af ovenstående, er brugeren dokument indeholder et system, address_ids, som indeholder objectids tilsvarende adresser. ved hjælp af disse objectids, kan vi spørge den adresse, dokumenter og få adressen derfra.med denne tilgang, vi får brug for to spørgsmål: for det første at hente, address_ids, marker, bruger, dokument, og for det andet at hente disse adresser, adresse, indsamling,> var resultat = db. brugere. finder ({"navn": "tom benzamin"} {"address_ids": 1})> var adresser = db. adresse. ('_id "(" $": resultat [" address_ids "]}})



Previous:
Next Page: