CouchDB の次のドキュメントを考えると....
{
"_id": "002bafd55b353692a7ab2968074310cc2cbff258",
"_rev": "1-bc853056ac61d817ae3c4ecb4f81322b",
"names": [
{ "locale": "en", "value": "Example" },
{ "locale": "de", "value": "Beispiel" },
{ "locale": "fr", "value": "Exemple" }
],
"details": [
{ "locale": "en", "value": "An Example is here" },
{ "locale": "de", "value": "Ein Beispiel ist heir" }
{ "locale": "en", "value": "Un exemple est ici" }
]
}
...不要な言語が除外された部分的なドキュメントを返すことができるビューを作成するにはどうすればよいですか?
curl ..snip.. '_design/locale_filter/?locale=en,de,fr,it'
curl ..snip.. '_design/locale_filter/?locale=en,fr'
curl ..snip.. '_design/locale_filter/?locale=en'
次のようなものを返す必要があります。
{
"_id": "002bafd55b353692a7ab2968074310cc2cbff258",
"_rev": "1-bc853056ac61d817ae3c4ecb4f81322b",
"names": [
{ "locale": "en", "value": "Example" },
],
"details": [
{ "locale": "en", "value": "An Example is here" },
]
}
ドキュメントがさらに深い構造を持ち、名前と詳細構造を繰り返すサブケースもあります。これらも理想的な世界ではフィルタリングされます。
{
"_id": "002bafd55b353692a7ab2968074310cc2cbff258",
"_rev": "1-bc853056ac61d817ae3c4ecb4f81322b",
"names": [ ... snip ... ],
"details": [ ... snip ... ]
"deeper": {
"names": [
{ "locale": "en", "value": "Sub-Example" },
],
"details": [
{ "locale": "en", "value": "The Sub-Example is here" },
}
}
また、これはビューではなく、むしろショーである可能性があることにも注意してください。
初心者からの最後の質問は、couchdb ビューとデザイン ドキュメントでの作業を簡単にする方法があるかどうかです。現在、 ericaを試しています。これはやり過ぎのように感じます。ソファ アプリは必要ないと確信しているからです。 、ディスク上のファイルでビューを簡単に維持し、重要な変更を加えるたびにソファデータベースと同期したいだけです。