Я еще не понял, как получить значение @rid
из метаданных записи, используя python 3.5 с pyorient client.command для запуска такого SQL-запроса.как получить значение @rid из запроса, выберите из User, где name = 'Nicole', используя pyorient
Предположим, что я создал класс User, используя следующий запрос в client.command(query)
pyorient. Для простоты будут показаны только запросы вызовов здесь:
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>]
Скажем так, мы хотим знать @rid для Alex, поэтому позже мы можем использовать его для создания Edges среди других классов.
Если я бегу quety помощью orientdb студии можно увидеть @rid:
, но, если я запускаю тот же запрос с использованием client.command я получаю список с двумя рекордными указателями , Так это же самое, что результат от rec['Alex']
так, если я rec['Alex'][0].oRecordData
, чтобы получить данные записи, я только получаю обратно:
{'name': 'Alex'}
(1) Как я могу хранить rid
в переменная, когда я создаю новую вершину?
(2) Как я могу получить избавление от записи, если вы знаете, скажем, свойство name
?
Отлично! так просто просто '._rid' !!! ;) – Jobel