【问题标题】:How to Create Edge with Create vertex in OrientDB如何在 OrientDB 中使用 Create vertex 创建边
【发布时间】:2016-12-23 11:05:23
【问题描述】:

我正在尝试在 Purchases 类中创建一个顶点以及它到 Users 类顶点的链接。以下示例可以帮助您了解我想要实现的目标。

Create Edge PurchasedCarts
    FROM
    (CREATE VERTEX Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2)
    TO
    (Select @rid from Users)

上面的命令产生这个错误

Error parsing query:
Create Edge PurchasedCarts         FROM         (CREATE VERTEX Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2)         TO         (Select @rid from Users)
     ^
Encountered " <CREATE> "Create "" at line 1, column 1.
Was expecting one of:
    <SELECT> ...
    <TRAVERSE> ...
    <MATCH> ...
    <INSERT> ...
    <RETURN> ...
    <PROFILE> ...
    <FIND> ...
    <REBUILD> ...
    <OPTIMIZE> ...
    <GRANT> ...
    <REVOKE> ...
    <BEGIN> ...
    <COMMIT> ...
    <ROLLBACK> ...
    <IF> ...
    <SLEEP> ...
    <CONSOLE> ...

    DB name="*****"

请帮助我,或者如果您能提出其他更好的技术,我将非常感激。

【问题讨论】:

  • 我认为你做不到。你可以使用batch

标签: javascript node.js orientdb orientjs


【解决方案1】:

CREATE VERTEX 语句不支持,但您可以使用 INSERT INTOUNSAFE 关键字:

insert into PurchasedCarts set out=(insert into Purchases SET guid = "44b4dab7-744a-4f13-ae55-3a563e327de9", accountId = '240059', amount = 44, orderNumber = "1496890", totalItems = 2), in=(select from Users) unsafe

PS

关于目的地 SELECT 使用 select from Users 而不是 select @rid from Users

【讨论】:

  • 避免@rid 有什么好处?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多