これを行う1つの方法は、WPCoderのアイデアをinclude_docs=true
クエリで使用して応答を取得することです"value": { book_id:"123456", name:"Peace and War", pages:"2234" }, "doc": {_id:34567, surname:"Tolstoy", name:"Leo" }
。私はそれをします。
本当に気に入らない場合は、include_docs
マップを試すこともできます。
if (doc.author_id) {
emit([doc.author_id, doc._id], doc);
} else
// check if author
if (doc.surname && doc.name) {
emit([_id, 0], doc);
}
これで、オプションを指定したクエリは?startkey=["author id"]&endkey["author id", {}]
、著者による本のリストを返します。書籍をフィルタリングして、リスト付きの単一のオブジェクトにマージできますが、著者を事前に知っている必要があります(著者ではなくキーを使用して検索します)。
を使用することもできkeys=[["author id", 0], ["author id", "book id"]]
ますが、著者と本のIDの両方を知っている必要があります。それはすべてあなたがそれを何のために必要とするかに依存します。もう一度繰り返します。WPCoderが提案したものを使用します。