CosmosDb Graph:将节点(及其边缘)移动到不同的分区?

时间:2018-05-08 13:54:01

标签: azure-cosmosdb gremlin

我正在使用分区的CosmosDB图表集合。 是否有一种简单的方法来移动"从一个分区到另一个分区的节点(及其出站链接)?这可以原子地完成吗?

我试过这个:(分区键是' / tenantId')

//create the node
g.addV('testme').property('id','id123').property('tenantId','mytenant1')

//...create more nodes and edges...


//change node's partition key
g.V('id123').has('tenantId','mytenant1').property('tenantId','mytenant2')
// ^^^ fails:
// GraphRuntimeException ExceptionMessage :  
//   Gremlin Query Execution Error: 
//      Update Vertex Properties: The partition property cannot be updated

1 个答案:

答案 0 :(得分:1)

如错误所述,无法更新分区键值。这是不可改变的。

但是,如果您删除文档并使用更新的分区键值添加它,那么这将起作用。请记住,为了做到这一点,无论你编码什么,都应该有一些回滚逻辑,以防新的插入失败。