I have a problem "joining" some documents in a view. Here's my schema: Documents with type "category" can hold an embedded array of ids to documents with type "page". Both have a field "name".
My Documents:
{
   "_id": "887c28dcf6dd8429d404d276b900b203",
   "_rev": "3-c4d1e0c8378bb0081b5fe3522ee649a0",
   "TYPE": "category",
   "NAME": "Home",
   "PAGES": [
       {"PAGE_ID": "887c28dcf6dd8429d404d276b900ad8f"},
       {"PAGE_ID": "887c28dcf6dd8429d404d276b900b203"},
       {"PAGE_ID": "887c28dcf6dd8429d404d276b900bae0"}
   ]
}
{
   "_id": "887c28dcf6dd8429d404d276b9008c01",
   "_rev": "1-afd54c654ae5afa56a3fbd7b1ba119d2",
   "TYPE": "page",
   "NAME": "Foo"
}
Now I want to join these in a view with this map function:
function(doc) {
  if (doc.TYPE == "category") {
    for (id in doc.PAGES) {
      emit(doc.NAME, doc.PAGES[id].PAGE_ID);
    }
  }
}
But instead of the PAGE_ID I want the NAME of the referencing document. This is basically the example from the CouchDB wiki, but they don't sh开发者_如何学Cow the map function. So any ideas?
You need to include a _id field somewhere in your output value. After that, you use include_docs=true and the view will include the linked document instead of the source document. For example:
function(doc) {
   if (doc.TYPE == "category") {
      for (var x = 0; x < doc.PAGES.length; x++) {
         emit(doc.NAME, { _id: doc.PAGES[x].PAGE_ID });
      }
   }
}
When you query this view, you add include_docs=true to your URL. And your view output will add a new field to each row called doc. Ordinarily, that field will contain the full source document. In this case, it will include the linked document you are referring to.
EDIT Btw, you're using the for...in loop incorrectly. A for...in is used to loop over the properties of an object. You need to use a simple for loop to iterate an array like this.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论