O Document, é a menor parte de uma entidade de uma entidade de documento. Cada documento possui uma tupla em que a chave é o nome do documento e o valor é a informação representado pela classe Value
.
Document document = Document.of("name", "value");
Value value = document.getValue();
String name = document.getName();
Com essa interface também é possível ter um documento dentro de outro documento, o conceito de subdocumento.
Document subDocument = Document.of("subDocument", document);
A forma de armazenar essa informação, em subdocumentos, dependerá da implementação de cada driver.
Para facilitar o acesso da informação, o Document
, possui alias para os métodos do Value
, ou seja, é possível realizar a conversão do valor diretamente na interface Document
.
Document age = Document.of("age", 29);
String ageString = age.get(String.class);
List<Integer> ages = age.get(new TypeReference<List<Integer>>() {});
Object ageObject = age.get();