如何使用 pyorient 从 User where name = 'Nicole' 的查询 select 中检索 @rid 值

how to retrieve the @rid value from a query select from User where name = 'Nicole' using pyorient

我还没有弄清楚,如何使用 python 3.5 和 pyorient client.command 到 运行 从记录元数据中检索 @rid 值,这样 SQL 查询.

假设我在 pyorient 的 client.command(query) 中使用以下查询创建了一个用户 class。为简单起见,此处仅显示查询调用:

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,这样我们以后就可以用它在其他 classes 中创建边。

如果我 运行 使用 orientdb studio 的查询,我可以看到 @rid:

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

的结果相同

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

{'name': 'Alex'}

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

(2) 当您知道 属性 name 时,我如何检索记录?

使用 python 驱动程序,您需要执行以下操作:ret._rid 以访问 rid