Поддерживает ли CouchDB ограничение доступа к уникальным ключам? - PullRequest
3 голосов
/ 29 июня 2009

Я пришел из RDBMS, и у меня есть приложение, которое требует хорошей масштабируемости и низкой задержки. Я хочу попробовать CouchDB. Однако мне нужно определить, когда конкретная операция INSERT завершается неудачей из-за ограничения уникального ключа. CouchDB поддерживает это? Я взглянул на документы, но не смог найти ничего уместного.

Ответы [ 2 ]

2 голосов
/ 30 июня 2009

_id для каждого документа уникален (в той же базе данных), но нет ограничений для других полей в документе.

В частности, нет ограничений для двух или более документов.

Вы можете настроить документы проверки , чтобы установить правила проверки документов, но опять-таки они относятся к документу для каждого документа.

1 голос
/ 30 июня 2009

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

На самом низком уровне API, если вы попытаетесь выполнить запрос PUT для существующего идентификатора документа, он будет отклонен с ошибкой HTTP 409 - если вы не предоставите правильную версию (свойство _rev) существующего документа.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...