我还没弄清楚,如何使用python 3.5和pyorient client.command从记录元数据中检索@rid
值来运行这样的SQL查询。
我们说我在pyorient的client.command(query)
中使用以下查询创建了一个User类。为简单起见,此处仅显示查询调用:
CREATE User EXTENDS V
CREATE PROPERTY User.name IF NOT EXISTS STRING (MANDATORY TRUE, NOTNULL TRUE)
CREATE INDEX User.name ON User (name) UNIQUE
让我们创建一个字典来保存最近创建的顶点的指针
rec = {}
现在我们添加一些顶点:
rec['Cleo'] = CREATE VERTEX User CLUSTER User CONTENT {'name': 'Cleopatra'}
rec['Alex'] = CREATE VERTEX User CLUSTER User CONTENT {'name': 'Alex'}
让我们看看rec['Alex']
的价值:
rec['Alex']
[<pyorient.otypes.OrientRecord at 0x7fc39cd69c50>]
我们想说,我们想知道Alex的@rid,所以我们以后可以用它在其他类中创建Edges。
如果我使用orientdb studio运行一个quety,我可以看到@rid:
但是,如果我使用client.command运行相同的查询,我会得到一个包含两个记录指针的列表。所以它与rec['Alex']
所以,如果我rec['Alex'][0].oRecordData
获取记录数据,我只会回来:
{'name': 'Alex'}
(1)在创建新顶点时,如何将rid
存储在变量中?
(2)如果你知道,我怎样才能找回记录,让我们说财产name
?
答案 0 :(得分:1)
使用python驱动程序,你需要做:ret._rid访问rid