我在OrientDB Studio中创建了一个自定义javascript函数。该函数将rid作为参数并从该rid执行select查询。
var graph = orient.getGraph();
var res = graph.command( "sql", "select outE('Rel').inV('B').size() as lower_num from " + rid );
因此,此查询的结果是一个数字。根据此数字的值,函数应该执行不同的操作。我想知道如何从函数内的res变量中提取和使用该值。到目前为止,我的所有尝试都失败了。如果我从函数返回res变量,结果如下所示:
[
{
"@type": "d",
"@rid": "#-2:1",
"@version": 0,
"lower_num": 2
}
]
所以,我尝试了以下( res[0]['lower_num'] == 2 ); ( res['lower_num'] == 2 )
并且没有任何效果......它们总是返回false。有什么想法吗?
答案 0 :(得分:2)
OrientDB将ODocument对象放在结果集数组中。所以试试这个:
return res[0].getRecord().field( "lower_num" );
答案 1 :(得分:0)
var jsonhelp= [ { "@type": "d", "@rid": "#-2:1", "@version": 0, "lower_num": 2 } ];
var extractedNumber = jsonhelp[0].lower_num;
现在你可以将它与你想要的任何东西进行比较;我希望它有所帮助
像这样,您可以提取JSON中的任何属性。但是在javascript中有两种类型的比较
1) == simply compares values ,don't consider type
ex. '5' == 5 true , both are 5
5 == 5 true.
2)=== considers type too
ex. '5' === 5 is false, different type i.e String === integer
5 === 5 is true ,same type