回答はお使いのアーキテクチャによって異なります。
クライアントとデータベースの間に何らかの「ミドルウェア」がある場合は、?startkey=["org.couchdb.user:user1"]&endkey=["org.couchdb.user:user1",{}]
を照会することで、記述する2番目のビューパターン([org.couchdb.user:user1, otherkey]
)からのデータフェッチを制限できます。これにより、より短い配列がより長くなる前にソートされ、オブジェクトが他の値の型の後にソートされるため、最初に出力されるキーと最後のキーの間の結果に制限されます。
できるだけ多くの検証とデータ表示をCouchDBで実行しようとしている場合(たとえば、「CouchApp」を作成している場合)、filtered replicationを使用することを検討する必要があります。これは、各ユーザに自分の個人データベースを与えるために使用することができます。表示する必要があるドキュメントのみを含む非公開マスターデータベースのサブセットです。次に、単純なドキュメントキーを発行し、結果に関連するドキュメントのみを含めることができます。
フィルタリングされたレプリケーションの使用に関するもう少しの背景がこのブログの投稿の途中にあります。ここで特定の質問についてさらに議論するかもしれません。
非所有ドキュメントへのアクセスを禁止する必要がありますか? –
はい。最終的には、他のユーザーに表示または編集する権限を与えることができます。 –