驱动程序的输出取决于具体请求。有些方法,如uql()
,会返回Response
对象,您需从中提取数据,将其转换成相应的驱动类型以用于Node.js应用程序。其他方法,如showGraph()
, showSchema()
和showProperty()
则直接返回驱动类型数据(GraphSet
, Schema
, Property
等。) 请参阅 嬴图数据与Node.js类型映射 了解主要驱动类型。
Response
uql()
和其他方法会返回Response
对象。Response
对象包含以下字段:
字段 |
类型 |
描述 |
---|---|---|
req |
任意 | 请求信息 |
datas |
DataItem[] | 数据项,包括 ata、type、type_desc、alias 等 |
explainPlan |
PlanNode | UQL语句的解释树 |
status |
Status | 请求的执行状态 |
statistic |
Statistic | 请求执行的统计信息,包括 nodeAffected、edgeAffected、totalCost、engineCost 等 |
若查询返回了数据,您可使用get()
或alias()
方法通过数据别名提取各项目。两种方法均返回一个DataItem
对象,内嵌在查询结果中。若要将DataItem
映射为对应的驱动类型,请参阅 嬴图数据与Java类型映射.
get()
通过别名索引获取数据。
参数:
number
:别名索引。
返回值:
DataItem
:获取到的数据。
let resp = await conn.uql(
"find().nodes() as n return n._id, n._uuid limit 3",
requestConfig
);
console.log(resp.data.get(0));
console.log(resp.data.get(1));
UQL语句返回n._id
和n._uuid
两个别名;get()
方法获取别名索引为0的n._id
数据。
DataItem {
data: {
alias: 'n._id',
type: 4,
type_desc: 'RESULT_TYPE_ATTR',
values: [
'ULTIPA8000000000000001',
'ULTIPA8000000000000002',
'ULTIPA8000000000000003'
]
},
alias: 'n._id',
type: 4,
type_desc: 'RESULT_TYPE_ATTR'
}
alias()
通过别名名称获取数据。
参数:
string
:别名名称。
返回值:
DataItem
:获取到的数据。
let resp = await conn.uql(
"find().nodes() as n return n._id, n._uuid limit 3",
requestConfig
);
console.log(resp.data.alias("n._uuid"));
UQL语句返回n._id
和n._uuid
两个别名;alias()
方法根据n._uuid
的别名名称获取数据。
DataItem {
data: {
alias: 'n._uuid',
type: 4,
type_desc: 'RESULT_TYPE_ATTR',
values: [ '1', '2', '3' ]
},
alias: 'n._uuid',
type: 4,
type_desc: 'RESULT_TYPE_ATTR'
}"]