TypeError:'OrientRecord'对象不支持索引

时间:2016-04-11 23:42:49

标签: python pyorient

我正在尝试使用pyorient从Oriented DB中提取记录,这是我的查询:

query =  "SELECT value FROM (SELECT expand(Elements) FROM dataset) WHERE type = 'XXX'"
records = client.command(query)

一切正常。当我尝试打印记录时,我得到的是:

record = records[0]
print type(record)
<class 'pyorient.otypes.OrientRecord'>


print record
{{'value': 'Name'},'version':0,'rid':'#-2:0'}

因为我只需要从Name中提取“record”,所以我尝试了:

print record[0]

得到了

TypeError: 'OrientRecord' object does not support indexing

以下是repr的结果:

print(repr(record))
<pyorient.otypes.OrientRecord object at 0x7fdcdb531ad0>

1 个答案:

答案 0 :(得分:5)

查看源代码后,我想出了如何从字符串表示中访问数据的各个部分:

>>> x
<pyorient.otypes.OrientRecord object at 0x105789e48>
>>> print(x)
{{'value': 'Name'},'version':0,'rid':'#-2:0'}
>>> x.oRecordData
{'value': 'Name'}
>>> x.value #allow for access in the oRecordData as attributes?
'Name'
>>> x._version, x._rid #other values in string representation
(0, '#-2:0')

我很失望,字符串表示没有明显。无论如何,我认为你想要x.oRecordData一个。