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

CosmosDB Graph: How to update vertex having property with multiple values using gremlin?

根据 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"}]}}]

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

您缺少 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')