首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用pyorient从查询select from User where name = 'Nicole‘检索@rid值

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

Stack Overflow用户
提问于 2017-01-24 21:56:14
回答 1查看 453关注 0票数 1

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

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

代码语言:javascript
复制
CREATE User EXTENDS V
CREATE PROPERTY User.name IF NOT EXISTS STRING (MANDATORY TRUE, NOTNULL TRUE)
CREATE INDEX User.name ON User (name) UNIQUE

让我们创建一个字典来保存最近创建的顶点的指针

代码语言:javascript
复制
rec = {}

现在我们添加一些顶点:

代码语言:javascript
复制
rec['Cleo'] = CREATE VERTEX User CLUSTER User CONTENT {'name': 'Cleopatra'}
rec['Alex'] = CREATE VERTEX User CLUSTER User CONTENT {'name': 'Alex'}

让我们来看看rec['Alex']的值

代码语言:javascript
复制
rec['Alex']
[<pyorient.otypes.OrientRecord at 0x7fc39cd69c50>] 

这么说吧,我们想知道Alex的@rid,这样我们以后就可以用它在其他类之间创建边。

如果我使用orientdb studio运行一个quety,我可以看到@rid:

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

因此,如果我执行rec['Alex'][0].oRecordData来获取记录数据,我只能得到以下结果:

代码语言:javascript
复制
{'name': 'Alex'}

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

(2)当你知道,比如说属性name时,我如何检索记录的rid?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-25 00:26:49

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41830064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档