缺少数据Hyperledger Fabric Chaincode

问题描述

我希望您做得很好,我是Hyperledger Fabric的新手,如果您中的任何人以前遇到过此问题,我也有问题。 我已经在Go的链码中定义了我的资产和与其相关的属性,并且我开发了一些与资产进行交互的功能,起初它可以正常工作,但是最近我向该资产添加了更多数据,而这次我打开沙发db并检查数据,缺少一些属性,我可以构建没有错误的智能合约,甚至可以成功调用事务,但是当我检查时,找不到所有定义的数据。

    //Item:  Define the Item structure,with 9 properties.
type Item struct {
    CurrentOwner    string          `json:"currentOwner"`
    Status          string          `json:"status"`
    Approvedorganic     string             `json:"approvedorganic"`
    ReceptionOlives receptionOlives `json:"receptionOlives"`
    ExtractionHuile extractionHuile `json:"extractionHuile"`
    ElaborationHuile   elaborationHuile   `json:"elaborationHuile"`
    ControleduStockage controleduStockage `json:"controleduStockage"`
    MiseEnBouteille miseEnBouteille `json:"miseEnBouteille"`
    LaboratoryTest  laboratorytest  `json:"laboratorytest"`
}
 
type receptionOlives struct {
    VarieteOlive                    string `json:"VarieteOlive"` //Tunisie Sicile ...
    quantity                        string `json:"quantity"`
    MaturiteOlives                  string `json:"MaturiteOlives"` //vert ou violet ou Noir
    daterecolte                     string `json:"daterecolte"`
    recoltemanuelleouclassique      string `json:"recoltemanuelleouclassique"`
    utilisationdesproduitsdabscission string `json:"utilisationdesproduitsdabscission"`
    dateLivraison                   string `json:"dateLivraison"`
    
}

然后,当我检查任何对等方的沙发db上的数据时,我发现ReceiveOlives缺少诸如数量,日期,日期,日期,日期等属性...这是我找到的数据:

{
  "_id": "Item6","_rev": "6-6dfafa223ebc54e4312a259ea0700934","approvedorganic": "","controleduStockage": {
    "CritereCertificatAlimentariteMaterielStockage": "","CritereMaterielStockage": "","CritereTemperatureStockage": "","CritereTransvasementHuile": ""
  },"currentOwner": "Olive mill","elaborationHuile": {
    "CritereSeparationliquideliquide": "","CritereSeparationliquidesolide": ""
  },"extractionHuile": {
    "HeureReception": "","HeureTrituration": "","Quantiteeauutilise": "","temperaturePateOlive": ""
  },"laboratorytest": {
    "physicochemicalresults": "","tastingresults": ""
  },"miseEnBouteille": {
    "StockageMatierepremiere": "","Stockagebouteillevide": "","Temperaturehuile": ""
  },"receptionOlives": {
    "MaturiteOlives": "123456789","VarieteOlive": "1234567"
  },"status": "Reception","~version": "CgMBHQA="
}

谢谢。

解决方法

您没有导出 receptionOlives 结构的字段。请通过更改大写形式的第一个字段字母来导出其字段。或将以下代码替换为您的结构。

type receptionOlives struct {
    VarieteOlive                    string `json:"VarieteOlive"` //Tunisie Sicile ...
    Quantity                        string `json:"quantity"`
    MaturiteOlives                  string `json:"MaturiteOlives"` //vert ou violet ou Noir
    Daterecolte                     string `json:"daterecolte"`
    Recoltemanuelleouclassique      string `json:"recoltemanuelleouclassique"`
    Utilisationdesproduitsdabscission string `json:"utilisationdesproduitsdabscission"`
    DateLivraison                   string `json:"dateLivraison"`
    
}