Mongodb do Spring-Data consultando várias classes armazenadas na mesma coleção

Com Spring-Data, você pode usar a anotação @Document para especificar para qual coleção salvar o objeto. Digamos que eu tenha duas turmas, Estudante e Professora, ambas persistiram na coleção de pessoas. Quando eu executo o seguinte código:

<code>mongo.find(new Query(), Teacher.class);
</code>

o resultado contém tanto o aluno quanto o professor. Examinando os dados criados pelo Spring-Data, cada documento contém um campo "_class" que indica de qual classe ele é persistido.

Este campo não é usado em find como um filtro para retornar somente o Teacher? Como faço para consultar somente o professor além de fazer isso:

<code>mongo.find(new Query().addCriteria(where("_class").is(Teacher.class.getCanonicalName()), Teacher.class);
</code>

questionAnswers(2)

yourAnswerToTheQuestion