> For the complete documentation index, see [llms.txt](https://avbravo-2.gitbook.io/jmoordb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://avbravo-2.gitbook.io/jmoordb/capitulo-3/introduccion/find.md).

# Búsquedas findById

## Búsquedas findById()

**Busca un documento u entity por la llave primaria.**

### Métodos

| Método                                     | Base datos soportada          |
| ------------------------------------------ | ----------------------------- |
| public Optional\<T> findById(T t2)         | MongoDB, Couchbase            |
| public Optional\<T> findById(Document doc) | MongoDB                       |
| public Optional\<T> findById(String sql)   | MongoDB (Soporta sql directo) |

**Parámetros:**

* T t2: Es un entity
* Document doc: Documento

### Ejemplo: Búsqueda por Entity

```
            Planetas planetas =new Planetas();
            planetas.setIdplaneta("tierra");
            Optional<Planetas> p1 = planetasRepository.findById(planetas);

            if (!p1.isPresent()) {
                System.out.println("no hay planetas");
            } else {
               planetas = p1.get(); 
               System.out.println("el planeta es " + planetas.toString());
            }
```

### Ejemplo: Búsqueda por documentos

Descompone internamente el documento e identifica la llave primaria y realiza la búsqueda.

```
        Document doc = new Document("idplaneta", "tierra");
        Optional<Planetas> p2 = planetasRepository.findById(doc);

        if (!p2.isPresent()) {
            System.out.println("no hay planetas");
        } else {
            planetas =p2.get();
            System.out.println("el planeta es " + planetas.toString());
        }
```

### Salida

Devuelve un objeto del tipo Entity planeta

El planeta es Planetas{idplaneta=tierra, planeta=Tierra, fecha=Sat Jan 21 16:21:42 EST 2017}

## Soporte de SQL directo

```
Optional<Planetas> p2 = planetasRepository.findById("select * from pais where idplaneta='tierra'");

if (!p2.isPresent()) {
System.out.println("no hay planetas");
} else {
planetas =p2.get();
System.out.println("el planeta es " + planetas.toString());
}
```
