MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Ефективно определяне на собственика на запис в йерархия с MongoDB

Ако се опитвате да „изберете“ записи от MongoDB на базата на „колона“, имаща стойност от набор от възможни стойности, които ще ви е необходима връзка с таблица за управление на потребители, за да определите, тогава NoSQL работи срещу вас...

Ако списъкът с потребителски идентификатори все още може да се управлява, можете да направите where ownerId in (?,?,?,?,?...) тип на заявката (след като първо сте определили списъка):

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

Начинът на NoSQL вероятно е да се денормализират нещата, например чрез включване не само на ownerId в документа, а на пълния път нагоре в йерархията на управление:

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

Разбира се, това ще трябва да се актуализира, когато потребителската йерархия се размести.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Предупреждение:Достъп до несъществуващо свойство „MongoError“ на модулни експорти в рамките на кръгова зависимост

  2. MongoDB:Как да преименувате поле с помощта на регулярен израз

  3. Как да изтриете колекция Mongodb, използвайки име на колекция в c#

  4. JSON път родителски обект или еквивалентна MongoDB заявка

  5. Вземете общ брой в Sails JS blueprint API