MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Skutecznie określaj właściciela rekordu w hierarchii za pomocą MongoDB

Jeśli próbujesz „wybrać” rekordy z MongoDB na podstawie „kolumny” mającej wartość ze zbioru możliwych wartości, których ustalenie wymagałoby sprzężenia z tabelą zarządzania użytkownikami, to NoSQL działa przeciwko tobie...

Jeśli lista identyfikatorów użytkowników jest nadal możliwa do zarządzania, możesz wykonać where ownerId in (?,?,?,?,?...) typ zapytania (po uprzednim ustaleniu listy):

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

Sposób NoSQL polega prawdopodobnie na denormalizacji rzeczy, na przykład poprzez uwzględnienie nie tylko identyfikatora właściciela w dokumencie, ale także pełnej ścieżki w górę hierarchii zarządzania:

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

Oczywiście będzie to musiało zostać zaktualizowane, gdy hierarchia użytkowników zostanie przesunięta.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przekazywanie parametrów modelu do modelu mangusty

  2. Agregacja MongoDB - wartości pól projektu jako pola

  3. MongoDB i duże zbiory danych przy użyciu wzorca repozytorium

  4. Usuń wszystkie symbole inne niż utf-8 z ciągu

  5. _.scalaj poddokumenty klonów zamiast aktualizować