sql >> Databáze >  >> NoSQL >> MongoDB

Efektivně určete vlastníka záznamu v hierarchii pomocí MongoDB

Pokud se pokoušíte „vybrat“ záznamy z MongoDB na základě „sloupce“, který má hodnotu ze sady možných hodnot, k jejichž určení byste potřebovali spojení s tabulkou správy uživatelů, pak NoSQL pracuje proti vám...

Pokud je seznam ID uživatelů stále spravovatelný, můžete zadat where ownerId in (?,?,?,?,?...) typ dotazu (po prvním určení seznamu):

db.documents.find({owner:{$in: [1234, 2345, 4444, 77777, 99999]}})

Způsob NoSQL je pravděpodobně denormalizovat věci, například tak, že do dokumentu nezahrnete pouze identifikátor vlastníka, ale celou cestu nahoru v hierarchii správy:

{  _id: 'the document A',
   owner : 1234,
   managers: [ 2345, 4444, 77777, 99999 ]
}

To bude samozřejmě potřeba aktualizovat, když se hierarchie uživatelů posune.




  1. Dávková sada dat ze slovníku do Redis

  2. Převod řetězce na datum v mongodb

  3. Jak se dotazovat MongoDB s likem

  4. Transformujte data MongoDB při hledání