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 generateduuidstring value.
Both static part of document's key and document'sidforms 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 idIn 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.:
UUID4KeyorIncrementalKey, not both
Static part of key can be customized by option on schemaSettings.keyModel.
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