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

MongoDb aktualizacja danych w dokumencie

Object Storage Arubacloud
0 głosów
101 wizyt
pytanie zadane 29 marca 2022 w SQL, bazy danych przez Squbany221 Użytkownik (640 p.)

Witam w ramach nauki w  bazie mongo db mam kolekcję pracownicy. Chciałbym zamienić id_szefa na object id tego pracownika. Tzn
Mam taką kolekcję:

 

{
    "_id" : ObjectId("6223a5767b9cdbdcb681b1ef"),
    "id_pracownika" : 180,
    "nazwisko" : "Thomas",
    "id_szefa" : 100,
}

{
    "_id" : ObjectId("6224a5767b9cdbdcb681b1f0"),
    "id_pracownikar" : 100,
    "nazwisko" : "Jacbos",
    "id_szefa" : 110,

}

Chcialbym aby te id szefa w pierwszym dokumencie zostało zamieniene z _id z tego drugiego dokumentu ponieważ,  ten pracownik ma id=100 czyli jest jego szefem powinno to wyglądać tak:
 

{
    "_id" : ObjectId("6223a5767b9cdbdcb681b1ef"),
    "id_pracownika" : 180,
    "nazwisko" : "Thomas",
    "id_szefa" : ObjectId("6224a5767b9cdbdcb681b1f0"),
}

Próbowałem takie zapytanie ale coś nie działa,  jak to zrobić za pomocą tej metody?
 

var pracownicy = db.pracownicy.find({"id_szefa": {$ne: null}});
while (pracownicy.hasNext()) {
prac = pracownicy.next();
pracownik = db.pracownicy.findOne({"id_szefa":prac.id_pracownika});

prac.id_szefa = pracownik._id

print(prac)

}

co robię źle i jak to poprawić?

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

Podobne pytania

+2 głosów
2 odpowiedzi 560 wizyt
0 głosów
0 odpowiedzi 171 wizyt
pytanie zadane 12 listopada 2019 w SQL, bazy danych przez Bish0p Obywatel (1,940 p.)
0 głosów
0 odpowiedzi 68 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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!

...