厳密に言えば、ビューから読み取る場合は、別の場所に機能を追加する必要があります。
CouchDB では、ユーザー ドキュメント (およびリビジョン) を読み取り、読み取り専用の View 操作中にそれを元に戻すことができる必要があります。
ドキュメントget
リクエストは、読み取り中に他のドキュメントに影響を与えることはできません (または読み取ることさえできません) (ビューも読み取り専用です)。読み取りは、特定のドキュメント バージョンに対してキャッシュ可能であることを意図しています。show
( docs ) とlist
CouchDB の機能でさえ、これが起こらないようにします。
その他の注意事項:
また、CouchDB がフィールドの自動インクリメントを実行するための最適なオプションであるとは限らないという問題についても考慮してください。これは、直面する可能性のあるいくつかの課題について詳しく説明している、優れた StackOverflow の回答です。基本的に、ドキュメントのリビジョンが CouchDB で管理される方法が原因で、(必要に応じて) カウンターを頻繁にインクリメントすると、頻繁にデータベースを圧縮しないと、ディスクが過度に使用される可能性があります。ページビューのカウントを行うには、他のシステムの方が適している場合があります。
Update
関数 ( docs )を使用するという提案を使用した場合、キャッシュ ページ/投稿のコストが高くなり、投稿が要求されるたびに CouchDB インスタンスが常に改訂されたドキュメント/投稿を返す必要がありますが、これは非常に不要です (そして、可能な場合は Web 層にキャッシュされます)。