我在超级账本结构示例链代码“ marbles_chaincode.go”中看到了“ docType”的概念,该代码仅声明“ docType用于区分状态数据库中的各种对象”。我以为docType是Couchdb的概念,但是我搜索了Couchdb的文档,却没有找到docType的介绍。我的问题是,“ docType”在Fabric中到底做什么?具体用于什么?更具体地说,当我编写链代码以将数据存储在链上时,设置docType的最佳做法是什么?
答案 0 :(得分:1)
它被“简单地”用来帮助您在将沙发床用作状态数据库时对资产进行分类和结构化。
请考虑有多个组织在基于面料的市场上出售不同种类的商品。这些类型可能从车辆到房地产等不等。要轻松查询和处理代表商品的资产,您可以使用doctype标记它们。 Doctypes帮助创建索引,而索引可以以更快的方式查询。
请注意,查询中的两个字段docType和owner都包含在索引中,从而使其成为完全受支持的查询。结果,该查询将能够使用索引中的数据,而不必搜索整个数据库。像这样的完全受支持的查询将比链码中的其他查询返回得更快。
以上部分摘自CouchDB Tutorial,也许可以帮助您更清楚地了解为什么以及何时使用doctype。基本上,这就是您已经想到的。最终可以更快,更轻松地处理资产。