首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写CouchDb视图?

如何编写CouchDb视图?
EN

Stack Overflow用户
提问于 2013-03-16 18:06:08
回答 2查看 166关注 0票数 3

我的couchDB数据库中有这样的文档列表。

代码语言:javascript
复制
{
   "_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的所有同级(文档的ParentId与我发送的键相同)?

EN

回答 2

Stack Overflow用户

发布于 2013-03-18 22:41:38

正如在另一个回答中所说的,不可能用单个请求来做到这一点。

但是,您可以改为执行以下操作:

  1. 定义了一个在ParentID上索引的映射(不带reduce)视图:

function(o) { if (o.ParentID) { emit(o.ParentID);}}

  • 向您的对象发送第一个请求,以了解其父对象的ID:

获取/myDatabase/myObject

  • Then向您的视图发送请求

获取/myDatabase/_design/myApp/_view/myView/?key="itsParent"&include_docs=true

多个请求在这里应该不会造成太大的危害,因为它们的数量(2)是恒定的。此外,您可以将它们隐藏在由NodeJS处理的单个请求后面。

票数 1
EN

Stack Overflow用户

发布于 2013-03-18 16:10:47

不幸的是,您需要将两个map-reduce函数链接在一起才能实现此结果,而该功能在CouchDB中不可用。有关详细信息,请参阅this question

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15447968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档