0

"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_personsdirectory_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 つのビューしか持てないと思います。

4

1 に答える 1

1

ビューに直接 (つまり、Futon の外部で) アクセスして、同じように動作するかどうかを確認してください。

于 2012-05-18T13:46:35.610 に答える