couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kevin Burton <>
Subject Re: Exist test?
Date Mon, 05 Nov 2012 20:17:55 GMT
When I create a new document both the id and rev will be null. So in order to determine if
the create is a duplicate another field must be involved.
A view (this is my crude understanding) is a function in the database that test for programmable
field values in the document. A design document is basically a document of views that can
be persisted to the db. For example say my document had a field 'title' I could construct
a view to return all documents that have a given 'title'. The reason that I brought this up
in this context is that if I could check to see if there were any documents that had a particular
title then I would be closer to finding out if the document had already been inserted in the
db. Problem is that I don't know how to do all this with DreamSeat. Maybe I should use another
.NET driver.

On Nov 5, 2012, at 2:00 PM, Jens Alfke <> wrote:

> On Nov 5, 2012, at 11:53 AM, Kevin Burton <> wrote:
>> So if I create a document that already exists how does the database know that it
already exists to give me a 409 error?
> If you PUT a document, and the body of your request has no ‘_rev’ property, it’s
an initial creation of a new document. The request will fail if there is already a document
with that ID in the database. (CouchDB can tell this apart from an update request because
you didn’t include the document’s existing ‘_rev’ in the request.)
> If you’re using POST, that by definition always creates a new document (with a randomly-assigned
ID), so it’s meaningless to say whether the document already exists.
>> How do I establish a view? Won't I run into the same problem by creating a view that
already exists (via the DesignDocument)?
> Sorry, I don’t understand the question.
> Maybe you should back up and describe what you’re trying to do in more detail.
> —Jens

View raw message