"Person"
type:およびtype の CouchDB にいくつかのドキュメントがあり"Account"
ます。
これらのタイプのすべてのドキュメントのストレート リストについては、次の設計ドキュメントを で作成しました_design/directory_views
。
{
"_id": "_design/directory_views",
"_rev": "21-f5df9253504e66f28393f4bda360e110",
"views": {
"all_persons": {
"map": "(function(doc) { if (doc.type == \"Person\") { emit(null, { 'last_name': doc.last_name, 'first_name': doc.first_name }); } })"
},
"all_accounts": {
"map": "(function(doc) { if (doc.type == \"Account\") { emit(null, { 'username': doc.username }); } })"
}
}
}
この JSON は JSONLint で検証され、ドキュメントを Futon のソース ビューに保存するときに受け入れられます。
ふとんリストdirectory_views/all_persons
とdirectory_views/all_accounts
ドロップダウンで期待どおり。all_persons は type のドキュメントの正しいリストを作成しますが"Person"
、all_accounts
トップレベルにリダイレクトし、All Documents
すべてをリストします。
なぜ機能するall_persons
のにall_accounts
失敗するのですか?
PS。これまでに多くの設計ドキュメントでこの動作を経験しました。この例http://kore-nordmann.de/blog/couchdb_a_use_case.html#a-practical-exampleは、同じデザイン ドキュメント内の 2 つのビューを示しているため、ドキュメントごとに 1 つのビューしか持てないと思います。