我的 couchDB 数据库中有此类文档的列表。
{
"_id": "9",
"_rev": "1-f5a9a0b76c6ae1fe5e20f1a1f9e6f8ba",
"Project": "Vaibhava",
"Type": "activity",
"Name": "Civil_Clearence",
"PercentComplete": "",
"DateAndTime": "",
"SourcePMSId": "1049",
"ProgressUpdatedToPMSFlag": "NO",
"UserId": "Kundan",
"ParentId": "5"
}
如何编写 View 函数,以便当我将 doc._id
作为键传递时,我必须获取该 doc._id
的所有兄弟(带有 ParentId 的文档与我发送的 key 相同)??
最佳答案
正如在另一个答案中所说,不可能通过单个请求来做到这一点。
但是,您可以改为执行以下操作:
定义索引在
ParentID
上的映射(没有 reduce) View :function(o) { if (o.ParentID) { emit(o.ParentID); } }
向您的对象发送第一个请求以了解其父对象的 ID:
GET /myDatabase/myObject
然后向您的 View 发送请求
GET /myDatabase/_design/myApp/_view/myView/?key="itsParent"&include_docs=true
有多个请求在这里不会造成太大伤害,因为它们的数量 (2) 是恒定的。 此外,您可以将它们隐藏在由 NodeJS 处理的单个请求后面。
关于mapreduce - 如何编写 CouchDb View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15447968/