ユーザー自身のドキュメントを他のユーザーからフィルタリングするために、ドキュメントの作成者をキーまたはキーの一部として返します。
org.couchdb.user:user1
また
[org.couchdb.user:user1, otherkey]
これは「マイドキュメント」ページを作成するための最良の方法ですか?または、単に別のキーを返すことはできますか
otherkey
userCtx
後でそれをフィルタリングするために使用しますか?
ユーザー自身のドキュメントを他のユーザーからフィルタリングするために、ドキュメントの作成者をキーまたはキーの一部として返します。
org.couchdb.user:user1
また
[org.couchdb.user:user1, otherkey]
これは「マイドキュメント」ページを作成するための最良の方法ですか?または、単に別のキーを返すことはできますか
otherkey
userCtx
後でそれをフィルタリングするために使用しますか?
答えはアーキテクチャによって異なります。
クライアントとデータベースの間にある種の「ミドルウェア」がある場合は、[org.couchdb.user:user1, otherkey]
クエリを実行することで、記述した2番目のビューパターン()からのデータフェッチを制限できます?startkey=["org.couchdb.user:user1"]&endkey=["org.couchdb.user:user1",{}]
。これにより、結果は最初に発行されたキーと最後のキーの間の結果に制限されます。これは、短い配列は長い前にソートされ、オブジェクトは他の値タイプの後にソートされるためです。
CouchDBで可能な限り多くの検証とデータ表示を行おうとしている場合(たとえば、「CouchApp」を作成している場合)、フィルター処理されたレプリケーションの使用を検討する必要があります。これを使用して、各ユーザーに独自の個人用データベースを提供できます。たとえば、表示する必要のあるドキュメントのみを含む非公開のマスターデータベースのサブセットです。次に、プレーンなドキュメントキーを発行するだけで、結果に関連するドキュメントのみが含まれると想定できます。
このブログ投稿の途中で、フィルター処理されたレプリケーションの使用についてもう少し背景があります。特定の質問についても、ここでさらに議論することができます。