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

Как мога да внедря разрешения на ниво поле за MongoDB?

Както при MongoDB 3.4, детайлността на вградения контрол на достъпа стига само до контрола на достъп на ниво колекция.

Например, можете да създадете дефинирана от потребителя роля, ограничаваща привилегиите за колекция:

privileges: [
  { resource: { db: "db_ANIMAL", collection: "tb_BIRD" },  actions: [ "find", "update" ] }
]

За да ограничите достъпа само за четене до подмножество от данни за колекция, можете да помислите за използването на новата функционалност Views в MongoDB 3.4 или да внедрите редакция на ниво поле с помощта на $redact етап на агрегиране (MongoDB 2.6+).

Ако имате нужда от по-подробен контрол на достъпа за актуализации на ниво поле, в момента ще трябва да внедрите това във вашия API или код на приложението.

Има няколко подходящи заявки за функции, които може да искате да гледате/гласувате в програмата за проследяване на проблеми на MongoDB:

  • SERVER-648:Контрол на достъпа на ниво документ
  • SERVER-27698:Материализирани изгледи


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да сравним MongoDB с YCSB?

  2. Преобразуване на низ в ObjectID в MongoDB

  3. mongodb/mongoose findMany - намерете всички документи с идентификатори, изброени в масив

  4. MongoDB $setDifference

  5. MongoDB $dateToString Спецификатори на формат