#go #couchdb #hyperledger-fabric #hyperledger #hyperledger-chaincode
#Вперед #couchdb #hyperledger-fabric #hyperledger #hyperledger-цепной код
Вопрос:
Я надеюсь, что у вас все отлично, я новичок в hyperledger fabric, и у меня есть проблема, если кто-то из вас сталкивался с этой проблемой раньше. Я определил свой ресурс и связанные с ним атрибуты в цепном коде в Go, и я разработал некоторые функции для взаимодействия с ресурсом, сначала все работало нормально, но в последнее время я добавил больше данных в ресурс, и на этот раз, когда я открываю couch 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"`
}
затем, когда я проверяю данные в базе данных couch любого однорангового узла, я обнаруживаю, что в receptionOlives отсутствуют такие атрибуты, как quantity, daterecolte recoltmanuelleouclassique … это данные, которые я нахожу:
{
"_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="
}
Заранее благодарю вас.
Комментарии:
1. Поля с именами в нижнем регистре не экспортируются, поэтому они не отображаются в json. Для их экспорта используйте заглавные буквы.
2. Боже мой, большое спасибо, я этого не видел.
Ответ №1:
Вы не экспортировали поля структуры 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"`
}