2017-01-25 4 views
1

У меня сейчас есть какая-то структура данных для моей модели, я все еще размышляю по этому пути, но одна из проблем заключается в том, что мне нужно обслуживать данные из монго на основе зарегистрированного пользователя . вУровень записи уровня безопасности mongodb

Один из подходов, я имел в виду что-то вроде этого, если мой объект (ы) выглядело это в Монго:

{ 
    record_id: 1, 
    property_1: 'some value', 
    property_2: 'some value', 
    users: [1, 2, 3, 4] 
    ... 
} 

А потом еще один:

{ 
    record_id: 2, 
    property_1: 'some value 2', 
    property_2: 'some value 2', 
    users: [1, 2] 
    ... 
} 

Затем по какой-то странице e, что у меня есть, я могу отображать все записи для данного пользователя.

Но у меня есть требование, чтобы я мог предоставить некоторым пользователям доступ к большему количеству записей и/или к меньшим. Как мне это сделать?

Если бы у меня был случай, когда мне нужно было бы убрать доступ с х количества записей и предоставить доступ к количеству записей для пользователя. В реляционной базе данных я хотел бы сделать что-то вроде этого:

--start transaction-- 
remove all access for a given user from the records 
add all new access 
--transaction end-- 

Так пользователь случае обновляет страницу, он или она может только видеть старые данные до доступа для данного пользователя был обновлен, или новые данные, которые будут произойдет только после завершения всей транзакции.

Как вы, ребята, делаете это в мире монго? Я могу изменить, как я храню записи, или как я могу управлять уровнем безопасности на каждом уровне пользователя и управлять этим доступом?

ответ

2

Вы можете попробовать использовать оператор redact. Поэтому каждый раз, когда вам нужно изменить безопасность для документа, а не всю коллекцию или даже базу данных, вы можете использовать redact для управления доступом только для

+0

спасибо, у вас есть пример, как это сделать с монгоидом? –

Смежные вопросы