Couchdb 如何在coach Db中获取父级详细信息?
请帮帮我 我已经创建了一个名为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”, “视图”:{Couchdb 如何在coach Db中获取父级详细信息?,couchdb,Couchdb,请帮帮我 我已经创建了一个名为Product的数据库 我已经创建了两个id为“P101”和“P102”的产品文档 { “_id”:“P101”, “修订版”:“5-8D1C4B5B7F6E65A5997D4EC5B34646E5F”, “类型”:“产品”, “姓名”:“衬衫”, “hersteller”:“oska”, “价格”:11.15 } { “_id”:“P102”, “修订版”:“3-8ad956f0c524b1a2396ebdda1ed0afbe”, “类型”:“产品”, “姓名”:
“第五次”:{ “映射”:“函数(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",{}]