作为NoSQL概念的完全新手,它让我很难搞清楚如何实现类似于多个链接文档的连接。 我在CouchDB中获得了一个国会的数据结构,它被复制到客户端上的PouchDB,如:
会话:
"_id": "1",
"type": "session",
"Title": "Title of Session",
}
人:
"_id": "2",
"type": "Person",
"mail": "mail@mail.com",
"Names": {
"FirstName": "Horst",
"LastName": "Muller"
}
"_id": "3",
"type": "Person",
"mail": "mail2@mail.com",
"Names": {
"FirstName": "Mark",
"LastName": "Webber"
}
会谈:
"_id": "4",
"type": "presentation",
"Sessions": [
"1"
],
"PresentationTitle": "Title of Talk",
"files": [
{
"Filename": "presentationfile.pptx",
}
],
"Speakers": [
"2",
"3"
]
我试图实现的是一个输出,其中检索文档就好像将链接文档的文档放在结果中一样
"_id": "4",
"type": "presentation",
"Sessions": [
"Title of Session"
],
"PresentationTitle": "Title of Talk",
"files": [
{
"Filename": "presentationfile.pptx",
}
],
"Speakers": [
{
"FirstName": "Mark",
"LastName": "Webber"
},
{
"FirstName": "Horst",
"LastName": "Muller"
}
]
或类似的东西,没有非规范化数据。我尝试使用map / reduce,Mango和pouchdb-find,但没有运气。 这在NoSQL-World中是否可能?
答案 0 :(得分:0)
CouchDB中实际上有一个名为Linked Documents的非常简洁的功能,可以让你有效地进行连接。
要点是,如果您使用_id
属性作为值发出对象,则include_docs=true
的行为将获取链接文档而不是源文档。 (我上面链接的文档有一个详细的例子)