As you said, the generated _id
is enforced as unique. That is the only real unique constraint in CouchDB, and some people use it as such for their own applications.
However, this only applies to a single CouchDB instance. Once you start introducing replication and other instances, you can run into conflicts if the same _id
is generated on more than 1 node. (depending on how you generate your _id
s, this may or may not be a problem)