Select 属性 来自 OrientDb 中的 link 属性
Select property from a link property in OrientDb
在 OrientDB 中,我有一个 class "V_MyClass" 和一个 "link" 类型的 属性 到 class V_User ("createdBy").两者都扩展 V。
此刻,我有一个查询 returns 来自 class.
的所有元素
select from MyClass
"createdBy" 类似于“#1:11”。 V_User 有一个 属性 像 "username"。我想在 select.
中为 "createdBy" 添加 "username"
SQL版本是:
- 当前查询:
select * from MyClass
- 请求查询:
select m.*, u.username from myclass m inner join user u on m.createdBy = u.id
我想在 OrientDB 中重现相同的查询。请注意,createdBy 不是边,而是 "link" 属性.
如果要向关系添加属性,则需要进行更新(这不是普通查询)。如果您执行 "selec...from...where...",您将不会更新。
试试这个(你可以在文档中看到更多信息):
UPDATE <class>|cluster:<cluster>|<recordID>
[SET|INCREMENT|ADD|REMOVE|PUT <field-name> = <field-value>[,]*]|[CONTENT|MERGE <JSON>]
[UPSERT]
[RETURN <returning> [<returning-expression>]]
[WHERE <conditions>]
[LOCK default|record]
[LIMIT <max-records>] [TIMEOUT <timeout>]
您可以使用此查询
select *,createdBy.username from V_MyClass
希望对您有所帮助。
在 OrientDB 中,我有一个 class "V_MyClass" 和一个 "link" 类型的 属性 到 class V_User ("createdBy").两者都扩展 V。 此刻,我有一个查询 returns 来自 class.
的所有元素select from MyClass
"createdBy" 类似于“#1:11”。 V_User 有一个 属性 像 "username"。我想在 select.
中为 "createdBy" 添加 "username"SQL版本是: - 当前查询:
select * from MyClass
- 请求查询:
select m.*, u.username from myclass m inner join user u on m.createdBy = u.id
我想在 OrientDB 中重现相同的查询。请注意,createdBy 不是边,而是 "link" 属性.
如果要向关系添加属性,则需要进行更新(这不是普通查询)。如果您执行 "selec...from...where...",您将不会更新。
试试这个(你可以在文档中看到更多信息):
UPDATE <class>|cluster:<cluster>|<recordID>
[SET|INCREMENT|ADD|REMOVE|PUT <field-name> = <field-value>[,]*]|[CONTENT|MERGE <JSON>]
[UPSERT]
[RETURN <returning> [<returning-expression>]]
[WHERE <conditions>]
[LOCK default|record]
[LIMIT <max-records>] [TIMEOUT <timeout>]
您可以使用此查询
select *,createdBy.username from V_MyClass
希望对您有所帮助。