CouchDB链接多个文档

Bho*_*omi 4 couchdb mapreduce

是否可以在一个视图中链接多个文档.

例如:

{
  "_id" : "0b86008d8490abf0b7e4f15f0c6a463b",
  "name" : "copenhagen"}
{
  "_id" : "8986008d8490abf0b7e4f15f0c6a333b",
  "player" : "Mark"
}
{
  "_id" : "4b86008d8490abf0b7e4f15f0c6a463c",
  "location" : { "uuid" : "0b86008d8490abf0b7e4f15f0c6a463b"},
  "player" : { "uuid" : "8986008d8490abf0b7e4f15f0c6a333b"},
  "session" : "9876"
}
Run Code Online (Sandbox Code Playgroud)

我想要一个视图包括位置文档以及播放器文档.

查看:

  "fetchByLocationAndPlayer": {
       "map": "function(doc) {    if (doc.session) {  emit(doc.session, { _id : **doc.location.uuid** });     } }"
   }
Run Code Online (Sandbox Code Playgroud)

在查询中我使用includedocs = true.

如何在一个文档中发出与多个键对应的多个文档?

Aks*_*rma 5

对的,这是可能的.只需使用两个发射而不是一个发射

emit(doc.session, {_id:doc.location.uuid});
emit(doc.session,{_id:doc.player.uuid});
Run Code Online (Sandbox Code Playgroud)

Couch db wiki列出了另一种方法,通过迭代数组并逐个发送链接的文档.