Отличный уникальный ключ и раздел в CosmosDB - PullRequest
0 голосов
/ 28 февраля 2020

Мы переходим от MongoDB к CosmosDB. В MongoDB мы никогда не создавали разделов, потому что все работало нормально. Но в CosmosDB из-за эффективного использования RU нам необходимо создать ключи раздела.

Теперь проблема в том, что у нас уже есть составной уникальный ключ в нашей коллекции, который мы не хотим использовать в качестве ключа раздела ( также я не уверен, возможен ли составной ключ раздела в cosmosDB или нет), потому что мы обычно не ищем этот уникальный ключ, а используем другие параметры.

Возможно ли как-то создать ключ раздела, отличный от уникального ключа?

Я пытался сделать это, но всегда получаю сообщение об ошибке -

cannot create unique index over { abc : 1.0, xyz : 1.0} with shard key pattern { partitionKey : 1.0 }

Я также пытался создать ключ раздела, который является подмножеством уникального ключа, но также приводит к той же ошибке.

Есть ли решение этой проблемы или кто-то знает лучший подход?

1 Ответ

2 голосов
/ 29 февраля 2020

Попробуйте создать unique индекс для защищенной коллекции таким образом:

db.collection.createIndex( { "abc" : 1, "xyz" : 1, "partitionKey" : 1 }, {unique:true})

Источник

...