Spring-Data では、 @Document アノテーションを使用して、オブジェクトを保存するコレクションを指定できます。Student と Teacher の 2 つのクラスがあり、どちらも people コレクションに保持されているとします。次のコードを実行すると:
mongo.find(new Query(), Teacher.class);
結果には Student と Teacher の両方が含まれます。Spring-Data によって作成されたデータを見ると、各ドキュメントには、永続化元のクラスを示す「_class」フィールドが含まれています。
これは、教師のみを返すためのフィルターとして検索で使用されないフィールドです。これを行う以外に、教師のみを照会するにはどうすればよいですか。
mongo.find(new Query().addCriteria(where("_class").is(Teacher.class.getCanonicalName()), Teacher.class);