Search:

Search all manuals
Search this manual
Manual
Couchbase Client Library: .NET (C#) 1.0
Additional Resources
Community Wiki
Community Forums
Couchbase SDKs
Parent Section
7 Update Operations
Chapter Sections
Chapters

7.4. Increment Methods

The Increment() methods increase the value of a given key if the corresponding value can be parsed to an integer value. These operations are provided at a protocol level to eliminate the need to get, update, and reset a simple integer value in the database. All the .NET Client Library methods support the use of an explicit offset value that will be used to reduce the stored value in the database.

API Callobject.Increment(key, defaultvalue, offset)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist.

client.Increment("inventory", 100, 1);
API Callobject.Increment(key, defaultvalue, offset, validfor)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)
TimeSpan validfor Expiry time (in seconds) for key

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist and set an expiry of 60 seconds.

client.Increment("inventory", 100, 1, TimeSpan.FromSeconds(60));
API Callobject.Increment(key, defaultvalue, offset, expiresat)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)
DateTime expiresat Explicit expiry time for key

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist and set an expiry of 5 minutes.

client.Increment("inventory", 100, 1, DateTime.Now.AddMinutes(5));
API Callobject.Increment(key, defaultvalue, offset, casunique)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)
ulong casunique Unique value used to verify a key/value combination

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist.

var casv = client.GetWithCas("inventory");
client.Increment("inventory", 100, 1, cas.Cas);
API Callobject.Increment(key, defaultvalue, offset, validfor, casunique)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)
TimeSpan validfor Expiry time (in seconds) for key
ulong casunique Unique value used to verify a key/value combination

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist and set an expiry of 60 seconds.

var casv = client.GetWithCas("inventory");
client.Increment("inventory", 100, 1, TimeSpan.FromSeconds(60), cas.Cas);
API Callobject.Increment(key, defaultvalue, offset, expiresat, casunique)
Asynchronousno
Description Increment the value of an existing numeric key. Couchbase Server stores numbers as unsigned numbers, therefore if you try to increment an existing negative number, it will cause an integer overflow and return a non-logical numeric result. If a key does not exist, this method will initialize it with the zero or a specified value.
ReturnsCasResult<ulong> ( Cas result of bool )
Arguments 
string key Document ID used to identify the value
object defaultvalue Value to be stored if key does not already exist
Integer offset Integer offset value to increment/decrement (default 1)
DateTime expiresat Explicit expiry time for key
ulong casunique Unique value used to verify a key/value combination

Increment the inventory counter by 1, defaulting to 100 if the key doesn't exist and set an expiry of 5 minutes.

var casv = client.GetWithCas("inventory");
client.Increment("inventory", 100, 1, DateTime.Now.AddMinutes(5), cas.Cas);