CosmosDB图:如何使用gremlin更新具有多个值的属性的顶点?

时间:2017-06-27 12:25:44

标签: gremlin azure-cosmosdb

根据cosmosDB图形文档,顶点可以具有多个值的属性。 https://docs.microsoft.com/en-us/azure/cosmos-db/gremlin-support

因此,如果我们为属性定义多个值,则在添加顶点时,会添加它。

假设我的查询是:

g.addV('employee').property('id', 'john').property('country', 'USA').property('country', 'India')

结果是:

[{"id":"john","label":"employee","type":"vertex","properties":{"country":
    [{"id":"5dc2aaf6-cb11-4d4a-a2ce-e5fe79d28c80","value":"USA"},
     {"id":"fcf4baf6-b4d5-45a3-a4ba-83a859806aef","value":"India"}]}}] 

但是在更新顶点时,如果我们更新具有多个值的属性。

查询是:

g.V('john').property('country', 'USA').property('country', 'India').property('country', 'China')

结果是:

[{"id":"john","label":"employee","type":"vertex","properties":{"country":
    [{"id":"7e5d9847-31e5-4a59-82f9-b78e744420a1","value":"China"}]}}]

如何使用多个值更新此属性?

1 个答案:

答案 0 :(得分:5)

您错过了允许添加其他属性的list关键字。

I'd recommend reading the Tinkerpop docs on VertexProperties

g.V('john').property(list, 'country', 'USA')
   .property(list, 'country', 'India')
   .property(list, 'country', 'China')