如何从查询中检索@rid值从用户中选择name =' Nicole'使用pyorient

时间:2017-01-24 13:56:14

标签: orientdb orientdb2.2 pyorient

我还没弄清楚,如何使用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:

enter image description here

但是,如果我使用client.command运行相同的查询,我会得到一个包含两个记录指针的列表。所以它与rec['Alex']

的结果相同

所以,如果我rec['Alex'][0].oRecordData获取记录数据,我只会回来:

{'name': 'Alex'}

(1)在创建新顶点时,如何将rid存储在变量中?

(2)如果你知道,我怎样才能找回记录,让我们说财产name

1 个答案:

答案 0 :(得分:1)

使用python驱动程序,你需要做:ret._rid访问rid