Model exposes getById(id, [options])
method. Which accepts id
string or instance of Key
.
Note that in CouchbaseODM id
and key
represents different document values:
a key of a document is composed of static and dynamic (id) part.
Static part of key determines type of document within a bucket whereas dynamic part is actual identificator (id
) usually represented by auto incremented integer or generateduuid
string value.
Both static part of document's key and document'sid
forms a unique representation of the document within the bucket
Example
Document's key:
User_1 //auto-incremented integer
User_000a2644-a151-4771-98ef-132134e1606e //uuidv4 id
In both examples, static portion of document's key is represented by User_
.id
value in first example is equal to 1
in second example id
= 000a2644-a151-4771-98ef-132134e1606e
Getting a document by id
/Key
considering above document key samples would look like:
return User.getById(1).then(function(user) {
console.log(user);
});
//or
return User.getById('000a2644-a151-4771-98ef-132134e1606e').then(function(user) {
console.log(user);
});
//or
const key = User.buildKey('000a2644-a151-4771-98ef-132134e1606e');
return User.getById(key).then(function(user) {});
Model can only have one key generation strategy eg.:
UUID4Key
orIncrementalKey
, not both
Static part of key can be customized by
option on schemaSettings.key
Model
.
For id
generation there is couple of key
generation strategies like UUID4Key
or IncrementalKey
.
if you have special needs, you can create a strategy yourself. See Customizing Document's Key