4

製品ごとに 1 つのデータベースがあり、日付に基づいて異なるドキュメントを作成する 1 つのアプリケーションを作成しています。ドキュメント内のキーは異なる可能性があり、ユーザーが提供するものによって異なります。ユーザーは、時間の経過とともに値が変更された追跡用に同じキーを提供し続けると想定しています。最後に、自動ビューを作成する前に、考えられるすべてのキーを知る必要があります。

例: DB があるとします。たとえば、テストします。たとえば、2つのドキュメントが含まれています。

1. {
 "_id":"1",
 "_rev":"1-"
 "タイプ": "メモ",
 "content": "Hello World!"
}

2. {
 "_id":"2",
 "_rev":"1-"
 "タイプ": "メモ",
 "content": "Hello World を超えて!",
 "extra":"ブーム"
}

次に、この DB 内のすべてのキーを一覧表示します。したがって、答えは_id、_rev、type、content、およびextraである必要があります。

これらのキーは動的であり、ユーザーに依存します。だから、事前に知っているとは思えませんでした。

4

1 に答える 1

8

これまでスタックオーバーフローを使用したことがありません。この問題を自分で解決しようとしたときにあなたの質問を見たので、サインアップしました。これで問題が解決すると思います:

「ビュー」にこれが含まれるビューを作成します。

{ "keys": { "map": "function(doc) { for (var thing in doc) { emit(thing,1); } }", "reduce": "function(key,values) { return sum(値); }" } }

次に、 group=true を使用してそのビューをクエリします。例:

http://localhost:5984/mydb/_design/myview/_view/keys?group=true

データベース内のすべてのキーのリストと、発生頻度のカウントを取得する必要があります。

これは役に立ちますか?

于 2011-06-24T17:53:57.403 に答える