使用Spring-Data,您可以使用@Document注释来指定将对象保存到哪个集合中。假设我有两个类,Student和Teacher,都持久化到people集合中。当我执行以下代码时:
mongo.find(new Query(), Teacher.class);
结果包含学生和教师。在Spring-Data创建的数据中查看,每个文档都包含一个“_class”字段,指示其持久化自哪个类。
这个字段不能用作筛选器来仅返回教师吗?除了执行以下操作外,我如何查询仅限教师:
mongo.find(new Query().addCriteria(where("_class").is(Teacher.class.getCanonicalName()), Teacher.class);