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 check and set (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.