6

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);
4

2 に答える 2

3

これは、この質問に対する最良の解決策です。

query.restrict(Teacher.class,Teacher.class);
于 2014-08-14T03:06:00.880 に答える