L'output du pilote dépend de la demande spécifique faite. Certaines méthodes, comme Uql()
, retournent un objet Response
, qui vous oblige à extraire les données et à les convertir dans le type de pilote correspondant pour servir l'application Go. D'autres méthodes, comme ShowGraph()
, ShowSchema()
, et ShowProperty()
, renvoient directement des données du type de pilote (GraphSet
, Schema
, Property
, etc.). Veuillez lire Types Mapping Ultipa and Go pour une liste des principaux types de pilotes.
Réponse
La méthode Uql()
et certaines autres méthodes renvoient un objet Response
. Response
possède les champs suivants :
Champ |
Type |
Description |
---|---|---|
DataItemMap |
map[string]{} | Carte des index et de leurs données correspondantes (DataItem ). |
Reply |
UqlReply | Réponse de l'exécution de la demande, incluant state , sizeCache , etc. |
Status |
Status | Statut de l'exécution de la demande. |
Statistic |
Statistic | Statistiques de l'exécution de la demande, incluant NodeAffected , EdgeAffected , TotalCost , EngineCost , etc. |
ExplainPlan |
ExplainPlan | Arbre d'explication pour l'instruction UQL. |
AliasList |
[]string | Liste des alias. |
Si la requête retourne des données, vous pouvez extraire chaque élément par son alias en utilisant la méthode Get()
ou Alias()
. Les deux méthodes renvoient un objet DataItem
, qui intègre le résultat de la requête. Pour mapper le DataItem
au type de pilote correspondant, veuillez lire Types Mapping Ultipa and Go.
Get()
Récupère les données par l'index de l'alias.
Paramètres :
int
: Index de l'alias.
Retours :
DataItem
: Les données récupérées.
myQuery, err := conn.Uql("find().nodes() as n return n._id, n._uuid limit 3", requestConfig)
if err != nil {
println(err)
}
println(utils.JSONString(myQuery.Get(0)))
L'instruction UQL renvoie deux alias n._id
et n._uuid
; la méthode Get()
récupère l'alias n._id
à l'index 0.
{"Alias":"","Type":4,"Data":{"alias":"n._id","attr":{"value_type":7,"values":["VUxUSVBBODAwMDAwMDAwMDAwMDAwMQ==","VUxUSVBBODAwMDAwMDAwMDAwMDAwMg==","VUxUSVBBODAwMDAwMDAwMDAwMDAwMw=="]}}}
Alias()
Récupère les données par le nom de l'alias.
Paramètres :
string
: Nom de l'alias.
Retours :
DataItem
: Les données récupérées.
myQuery, err := conn.Uql("find().nodes() as n return n._id, n._uuid limit 3", requestConfig)
if err != nil {
println(err)
}
println(utils.JSONString(myQuery.Alias("n._uuid")))
L'instruction UQL renvoie deux alias n._id
et n._uuid
; la méthode Alias()
récupère l'alias n._uuid
par son nom.
{"Alias":"","Type":4,"Data":{"alias":"n._uuid","attr":{"value_type":4,"values":["AAAAAAAAAAE=","AAAAAAAAAAI=","AAAAAAAAAAM="]}}}