Как сказано выше, нет никаких ограничений для других полей, кроме документа _id. _Id может быть автоматически сгенерирован couchdb или вы можете создать свой собственный. (для своих целей я создал свой, так как знал, что могу гарантировать уникальность ключа).
На самом низком уровне API, если вы попытаетесь выполнить запрос PUT для существующего идентификатора документа, он будет отклонен с ошибкой HTTP 409 - если вы не предоставите правильную версию (свойство _rev) существующего документа.
Я бы не стал запускать что-либо критически важное для couchdb, но код вышел из Apache и довольно функционален. Ряд людей используют веб-сайты с ним.