はありがとう:
function(doc) {
if (!doc.type) return;
if (doc.type == "feed") emit(doc._id, null);
if (doc.type == "ds" && doc.feed) emit(doc.feed, null);
}
をしてまで減らしますそれらにリンクするデータソース文書を持つフィードIDをフィルタリングします。例えば。 group_levelとbuild-in_count
とクエリの使用:
{"id":"1", "type":"feed"}
{"id":"2", "type":"feed"}
{"id":"3", "type":"ds", "feed":1}
{"id":"4", "type":"ds", "feed":1}}
はあなたを与えるだろう:データベースの
http://127.0.0.1:5984/test/_design/join/_view/not_in?group_level=1
{"rows":[
{"key":"1","value":3},
{"key":"2","value":1}
]}
値>1
は、データソースからの参照を持っているそれらのフィードのドキュメントです。純粋なフィードリストを取得するには、value>1
またはlist functionのレコードを省略することができます。
編集:リスト機能付き:
function(head, req) {
var row;
while (row = getRow()) {
if (row.value == 1)
send(row.key + "\n");
}
}
とクエリ:
http://127.0.0.1:5984/test/_design/join/_list/not_ds/not_in?group_level=1
あなたは、データソースからのアウトを参照してフィード文書で、最終的な結果を得ることができます。これは、idのリストを持つプレーンテキストであり、JSON配列のためにフォーマットすることもできます。
詳細を読むことができます「をすべて取得します特定のデータソースに関連付けられていないフィード 'または'すべてのデータソースに関連付けられていないすべてのフィードを取得する ' – joscas