> On 15 Dec 2016, at 20:56, David Squier <[email protected]> wrote:
>
> Greetings,
>
>
>
> I have a master document that contains multiple references to child
> documents. I want to use the Linked Documents feature to "compose" a
> master document that replaces all the child document references (i.e.,
> keys) with the actual document contents.
>
>
> I can do this with a single linked document using the following emit
> in a view:
>
>
> emit(doc._id, { _id: "child_document_1" });
Assuming:
{
_id: “main_doc”,
"child_documents”: [
"child_doc_id_1”,
"child_doc_id_2”,
"child_doc_id_3”
]
}
then
function(doc) {
doc.child_documents.forEach(function(child_doc) {
emit(doc._id, { _id: child_doc._id})
})
}
will do the trick.
Best
Jan
--
>
>
>
> With the include_docs=true, this populates the document contents for
> child_document_1 as expected. However, I have not found a way do this
> for multiple documents.
>
>
> For example, I'd like to do something like the following:
>
>
>
> emit(doc._id, "children": { _id: "child_document_1", _id:
> "child_document_2" });
>
>
> And have both child documents replaced with their document bodies._id.
> However, it appears the Linked Documents syntax is specific in wanting a
> single document referenced and therefore only allowing that documents
> contents to be populated.
>
>
> Is this even possible? If not through Views, through some other
> mechanism?
>
>
> NOTE: I do not want to generate multiple documents (i.e., use multiple emit()
> statements) as my goal is to return a single document.
>
>
> Thanks much!
>
>
--
Professional Support for Apache CouchDB:
https://neighbourhood.ie/couchdb-support/