我在couchDB数据库中有这些文档的列表。
{
"_id": "9",
"_rev": "1-f5a9a0b76c6ae1fe5e20f1a1f9e6f8ba",
"Project": "Vaibhava",
"Type": "activity",
"Name": "Civil_Clearence",
"PercentComplete": "",
"DateAndTime": "",
"SourcePMSId": "1049",
"ProgressUpdatedToPMSFlag": "NO",
"UserId": "Kundan",
"ParentId": "5"
}
如何编写一个视图函数,以便当我传递doc._id
作为键时,我必须得到doc._id
的所有兄弟姐妹(与我发送的密钥相同的父文档的文档)? ?
答案 0 :(得分:1)
如另一个答案所述,单一请求无法做到这一点。
但是,您可以执行以下操作:
定义在ParentID
上编入索引的地图(没有缩小)视图:
function(o) {
if (o.ParentID) {
emit(o.ParentID);
}
}
向您的对象发送第一个请求以了解其父级的ID:
GET /myDatabase/myObject
然后向您的观点发送请求
GET /myDatabase/_design/myApp/_view/myView/?key="itsParent"&include_docs=true
有几个请求不应该在这里造成太大的伤害,因为它们的数字(2)是不变的。 此外,您可以将它们隐藏在NodeJS处理的单个请求之后。
答案 1 :(得分:0)
不幸的是,您需要将两个map-reduce函数链接在一起才能实现此结果,而CouchDB中无法使用该功能。有关详细信息,请参阅this question。