2017-01-25 4 views
1

私のモデルのデータ構造はまだまだありますが、私はまだ考えていますが、懸念事項の1つは、ログに記録されたユーザーに基づいてmongoからデータを提供する必要があることです。その後、レコードレベルのセキュリティmongodb

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

そしてもう一つ:私のオブジェクト(複数可)Mongoの中でこのように見えた場合には、私は念頭に置いていたのアプローチの

一つは、このようなものだった

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

次にいくつかのページで私は、特定のユーザーのすべてのレコードを表示することができます。

しかし、私はいくつかのユーザーがより多くのレコードにアクセスできるようにすることができます。これをどうやってやりますか?

xレコードの量からアクセスを取り除き、yレコードの量をユーザーに与える必要がある場合は、ユーザーがページを更新する場合には、彼または彼女はそのユーザーに対してのみアクセスが更新された前の古いデータを参照するか、どのような新しいデータができそう

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

:リレーショナルデータベースでは、私はこのような何かをするだろうトランザクション全体が完了した後にのみ発生します。

あなたはどうやってモンゴーの世界でこれをしますか?レコードを保存する方法、またはユーザーごとに行レベルのセキュリティを管理する方法を変更し、そのアクセスを管理しますか?

答えて

2

redact演算子を試すことができます。コレクション全体やデータベースではなく文書のセキュリティを変更する必要があるたびに、

+0

のアクセス権を制御するためにredactを使用することができます。あなたはmongoidでこれを行う方法の例がありますか? –

関連する問題