Najlepszy samouczek Stosunki MongoDB W 2024 r. W tym samouczku możesz dowiedzieć się Stosunki embedded,Typ referencyjny relacja,
relacja MongoDB wyrażone wzajemne powiązania między wieloma dokumentami w logice.
Można nawiązać kontakt poprzez osadzenie i odniesień między dokumentami.
Związek MongoDB mogą być:
Następnie pod uwagę relacje między użytkownikiem i adres użytkownika następnego.
Użytkownik może mieć wiele adresów, jest to jeden z wielu relacji.
Poniżej znajduje się prosty dokument Konfiguracja użytkownika:
{ "_id":ObjectId("52ffc33cd85242f436000001"), "name": "Tom Hanks", "contact": "987654321", "dob": "01-01-1991" }
Poniżej znajduje się prosty dokument adres struktury:
{ "_id":ObjectId("52ffc4a5d85242602e000000"), "building": "22 A, Indiana Apt", "pincode": 123456, "city": "Los Angeles", "state": "California" }
Korzystanie z wbudowanego sposób możemy umieścić adres użytkownika do dokumentu przez użytkownika:
"_id":ObjectId("52ffc33cd85242f436000001"), "contact": "987654321", "dob": "01-01-1991", "name": "Tom Benzamin", "address": [ { "building": "22 A, Indiana Apt", "pincode": 123456, "city": "Los Angeles", "state": "California" }, { "building": "170 A, Acropolis Apt", "pincode": 456789, "city": "Chicago", "state": "Illinois" }] }
Powyższe dane są przechowywane w jednym dokumencie, można łatwiej uzyskać dostęp i utrzymania danych. Można zapytać adres użytkownika:
>db.users.findOne({"name":"Tom Benzamin"},{"address":1})
Uwaga: Powyższe wskazujedb kwerendy bazy danych i użytkownikóworaz zbiorów.
Wadą tej struktury danych jest to, że jeśli użytkownicy oraz rozwiązanie problemu rosnącej ilości danych staje się coraz większy, wpłynie na wydajność odczytu i zapisu.
Typ referencyjny związek jest często stosowany w podejściu do projektowania bazy danych, pliki danych użytkownika i adres pliku danych użytkownika oddzielnie do budowania relacji przez poleid dokumentu referencyjnego.
{ "_id":ObjectId("52ffc33cd85242f436000001"), "contact": "987654321", "dob": "01-01-1991", "name": "Tom Benzamin", "address_ids": [ ObjectId("52ffc4a5d85242602e000000"), ObjectId("52ffc4a5d85242602e000001") ] }
Powyższyprzykład, address_ids dokument zawierający pole obiektu o identyfikatorze użytkownika adresu użytkownika (ObjectId) tablicy.
Możemy przeczytać te obiekty adres ID użytkownika (ObjectId), aby uzyskać szczegółowe informacje o adresie użytkownika.
Metoda ta wymaga dwóch zapytań, adres pierwszego obiektu zapytania id użytkownika (objectID), drugi adres Więcej informacji na zapytania użytkownika przez ID.
>var result = db.users.findOne({"name":"Tom Benzamin"},{"address_ids":1}) >var addresses = db.address.find({"_id":{"$in":result["address_ids"]}})