Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Couchdb 如何在coach Db中获取父级详细信息?_Couchdb - Fatal编程技术网

Couchdb 如何在coach Db中获取父级详细信息?

Couchdb 如何在coach Db中获取父级详细信息?,couchdb,Couchdb,请帮帮我 我已经创建了一个名为Product的数据库 我已经创建了两个id为“P101”和“P102”的产品文档 { “_id”:“P101”, “修订版”:“5-8D1C4B5B7F6E65A5997D4EC5B34646E5F”, “类型”:“产品”, “姓名”:“衬衫”, “hersteller”:“oska”, “价格”:11.15 } { “_id”:“P102”, “修订版”:“3-8ad956f0c524b1a2396ebdda1ed0afbe”, “类型”:“产品”, “姓名”:

请帮帮我

我已经创建了一个名为Product的数据库

我已经创建了两个id为“P101”和“P102”的产品文档

{ “_id”:“P101”, “修订版”:“5-8D1C4B5B7F6E65A5997D4EC5B34646E5F”, “类型”:“产品”, “姓名”:“衬衫”, “hersteller”:“oska”, “价格”:11.15 }

{ “_id”:“P102”, “修订版”:“3-8ad956f0c524b1a2396ebdda1ed0afbe”, “类型”:“产品”, “姓名”:“套头衫”, “hersteller”:“acme”, “价格”:7.58 }

现在添加了一个以“P101”为父级的订单文档

{ “_id”:“ORD-101”, “修订版”:“7-dbd8cca3b6dc9f4cb3b8bb7e4aec6630”, “类型”:“订单”, “订单日期”:“2012年1月1日”, “父产品”:“P101” }

现在,我添加了以“ORD-101”为父级的报告文档

{ “_id”:“报告-101”, 修订版:“10-c57e3c039a44d95d6bd40d8a83a951da”, “类型”:“报告”, “父订单”:“ORD-102” }

在此之后,我添加了具有相应视图功能的设计文档

{ “\u id”:“\u设计/产品设计”, “修订版”:“87-d1b0a8c8cdfe569bbf9805df4918af4f”, “修订版”:“3-productrev”, “视图”:{
“第五次”:{ “映射”:“函数(doc){if(doc.type='REPORT'){emit(doc.\u id,{u id:doc.reportDet});}” } } }

。。 这只给了我一个上级关报表文档,实际上我还想打印订单文档对应上级的详细信息

ie详细信息“P101”也


我如何才能做到这一点..请帮助

假设以下数据(注意:_rev和未使用的文档从您的示例中删除):

您将需要按照以下思路做一些事情:

if doc.type == "product"
    emit([doc.id], doc.type)
if doc.type == "order"
    emit([doc.product, doc.id], doc.type)
if doc.type == "report"
    emit([doc.product, doc.order, doc.id], doc.type)
这将导致视图输出,如:

[
    [["P101"], "product"], 
    [["P101", "ORD-101"], "order"], 
    [["P101", "ORD-101", "REPORT-101"], "report"]
]
如果你用

?startkey=["P101"]&endkey=["P101",{}]

将为您提供产品P101以及该产品的所有订单和报告。

不应该
“parentOrder”:“ORD-102”
“parentOrder”:“ORD-101”
?我可能只是不知道,但我在沙发上与父订单和子订单的用例进行了严重的斗争。你考虑过Neo4J吗?
?startkey=["P101"]&endkey=["P101",{}]