如何在 OrientDB 的自定义 javascript 函数中从 JSON 中提取 db.command 查询的结果

How to extract the result of a db.command query from JSON inside a custom javascript function in OrientDB

我在这个自定义 javascript 中有这个 SQL 代码。

var inLinkNodes = db.command('sql','SELECT in() FROM node where @rid = ' + relateNode);

.

return inLinkNodes;

当我 return 这个变量时,我得到以下输出:

输出:

[
{
"@type": "d",
"@rid": "#-2:0",
"@version": 0,
"in": [
“#17:9”
],
“@fieldTypes”:"in=z"
}
]

我只想要“#17:9”作为输出。

我尝试了以下命令:

return inLinkNodes[0].getRecord().field( "in" );

但这给出了以下输出:

[
{
"@type": "d",
"@rid": "#17:9",
"@version": 2,
"@class": "node",
"out_isLinkedTo": [
"#13:25"
],
"@fieldTypes": "out_isLinkedTo=g"
}
]

如何只提取“#17:9”作为字符串输出?

您可以这样尝试:

var inLinkNodes = db.command('sql','select expand(@this.exclude('@type','@rid','@version','@class')) from (SELECT in() FROM node where @rid = ' + relateNode + ')');

你可以这样做:

var inLinkNodes = db.command('sql','SELECT in().@rid FROM ' + relateNode);

希望对您有所帮助!