• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

MongoDB relacje pomiędzy obiektami tego samego typu

Object Storage Arubacloud
0 głosów
314 wizyt
pytanie zadane 30 maja 2020 w Java przez MarkoMarecki Nowicjusz (120 p.)
zmienione kategorie 30 maja 2020 przez MarkoMarecki

Witam posiadam pewien problem z ładowaniem obiektów, które posiadają w swoich zmiennych obiekty tego samego typu.

W skrócie mam stworzoną klase User, która posiada zmienną typu String,int no i ten nieszczęsny User.

@Data
public class User {


    @BsonId
    private final String name;
    private final int age;
    private User mother;

    public User(String name, int age){
        this.name = name;
        this.age = age;
    }
}

Dla przykładu stworzyłem 2 userow.

User son = new User("Son", 11);
User mother = new User("Mother", 30);
son.setMother(mother);

Wrzucam ich do bazy w postaci całego obiektu przerobionego na bson document z czego wychodzą mi takie dwa jsony

{
    "_id": "Son",
    "age": 11,
    "mother": {
        "_id": "Mother",
        "age": 30
    }
}

{
    "_id": "Mother",
    "age": 30
}

Oczywiście mogę załadować na początku mother wrzucić ten obiekt do mapki i potem przy pobieraniu son sprawdzić czy nie ma mother w mapce jeśli jest ustawić jeśli nie to dodać do mapki i ustawić.W tym rozwiązaniu następuje problem z kolejnością ładowania, gdyż co jeśli uznajmy nie załaduje mother a będę chciał załadować son.

Przy okazji w wypadku występuje duplikacja documentów (mother).

Sorry za zawiłość nie mam pojęcia jak lepiej mógłbym to opisać

komentarz 30 maja 2020 przez piotrsz109 Stary wyjadacz (13,730 p.)
Możesz zapisywać ID matki i nie będzie duplikatu danych

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
2 odpowiedzi 559 wizyt
0 głosów
0 odpowiedzi 68 wizyt
0 głosów
2 odpowiedzi 116 wizyt

92,573 zapytań

141,423 odpowiedzi

319,648 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...