読み取りや更新などのさまざまなアクセス許可レベルのロールを持つコレクション「データ」があります。ユーザーは自分のドキュメントを更新し、一部を読むことしかできません。しかし、誰でも新しいドキュメントを挿入できます。ロールを定義し、ユーザーの権限をチェックする関数を作成しました。しかし、新しいドキュメントを挿入することは誰にも許可されていません。
これは私の役割の定義です:
{
"%%true": {
"%function": {
"name": "checkAccess",
"arguments": [
"%%root",
"Read"
]
}
}
}
私の関数 checkAccess は、1 つの条件が true の場合に true を返します。しかし、条件のない新しいドキュメントがある場合は、true が配信されます。
そこで、次のようなロール定義を定義しようとしました:
{
"%%prevRoot": {
"%exists":true
}
}
また、InsertDocument 権限を付与して、誰もが新しいドキュメントを挿入できるようにします。しかし、%%prevRoot は解決できません (ErrMsg: '%%prevRoot' の展開方法がわかりません)
良い情報源がなければ、mongodb Stitch に慣れるのは難しいです。うまくいけば、これで私を助けてくれます。