1
resposta

Busca por ID

Estou tentando fazer a buscar por ID mas ñ está trazendo nada na hora da pesquisa. Poderia me ajudar?

Segue abaixo os trechos dos códigos que foram implementados para fazer a busca por ID ao invés do nome como mostrado na aula.

parte do código da classe AlunoController

// metodo pesquisar por id
    @GetMapping("/aluno/pesquisarid")
    public String pesquisarId() {
        return "aluno/pesquisarid";
    }

    // metodo pesquisar
    @GetMapping("/aluno/pesquisarId")
    public String pesquisarId(@RequestParam("id") ObjectId id, Model model) {
        List<Aluno> alunos = repository.pesquisarPorId(id);
        model.addAttribute("aluno", alunos);
        return "aluno/pesquisarid";
    }

Parte do código da Classe AlunoRepository

// metodo pesquisar por ID
    public List<Aluno> pesquisarPorId(ObjectId id) {

        criarConexao();
        MongoCollection<Aluno> alunoCollection = this.bancoDeDados.getCollection("aluno", Aluno.class);
        MongoCursor<Aluno> resultados = alunoCollection.find(Filters.eq("id", id), Aluno.class).iterator();

        List<Aluno> aluno = popularAlunos(resultados);

        fecharConexao();
        return alunos;
    }

    // metodo que itera sobre os alunos no banco
    private List<Aluno> popularAlunos(MongoCursor<Aluno> resultados) {
        List<Alino> aluns = new ArrayList<>();
        while (resultados.hasNext()) {
            alunos.add(resultados.next());
        }
        return alunos;
    }
1 resposta

Fala Felipe, tudo bem?

Existem registros na sua base de dados para a consulta desejada? Tenta rodar no seu DB a consulta para validarmos o resultado, posta aqui depois

Abraço!