A newer version of this documentation is available.

View Latest

Creating documents

The IDocument<T> interface represents an abstraction for working with documents in Couchbase Server.

The default implementation of IDocument<T>is the Document<T> class, which provides the following properties:

Name Type Description

Id

string

The unique identifier for the document

Cas

ulong

The compare and swap (CAS) value for enforcing optimistic concurrency

Expiry

uint

The time-to-live (TTL) of the document in milliseconds. A value of zero or less for infinite lifetime.

Content

Generic T

The actual document value to store. This can be a scalar value, an object, or a dynamic type.

The following code snippet shows how to insert a document into Couchbase:

  var document = new Document<Person>
  {
      Id = "P1",
      Content = new Person
      {
          FirstName = "John",
          LastName = "Adams",
          Age = 21
      }
  };

  var result = bucket.Insert(document);
  if (result.Success)
  {
      Console.WriteLine("Inserted document '{0}'", document.Id);
  }

This example uses the Insert() method, which creates a document if it doesn’t exist, failing if it does. The following table shows the methods that are available for storing documents in Couchbase:

Name Description

Insert

Inserts a document, failing if it already exists

Replace

Replaces a document, failing if doesn’t exist

Upsert

Updates a document if it exists, otherwise inserts the document

If the Cas or Expires value is set, they will be honored for each operation.