是否有可能从相关文档中获取负载值并将其作为键/值的一部分与CouchDb中当前文档的值一起发出?
例:
{Id: 1, Type: Entity, Name: US, Code: 001}
{Id: 2, Type: Entity, Name: Alaska, Code: AL, Parent_Id: 1}
{Id: 3, Type: Entity, Name: California, Code: CAL, Parent_Id: 1}
{Id: 4, Type: Entity, Name: Juneau, Code: C-JUN, Parent_Id: 2}
Run Code Online (Sandbox Code Playgroud)
我想从父实体和当前实体中读取代码,名称等,并将它们作为map函数中的键/值发出.如果父母有另一个父母,我也想从中读取值.(链接在其他数据库中行走)
在map-reduce中,如果你emit()
是一个包含_id
in 的对象,那么该id将是你查询时得到的文档?include_docs=true
.
因此,当地图在加利福尼亚州运行时,它会这样做 emit(key, {_id: doc.Parent_id, entity: doc})
如果查询视图?include_docs=true
,则每行将包含value.entity
有关加利福尼亚的文档,但也doc
包含美国文档的值.
两个限制:
include_docs
技巧,您必须知道链接文档的_idemit()
另一个选项是视图整理,其中发出所有相关或类似的文档,以便它们在视图中都是相邻的.(通常你会发出一个文档的id和所有子文件的Parent_Id的键,因此它们都属于视图中的相同键.
归档时间: |
|
查看次数: |
1730 次 |
最近记录: |