使用 Spring-Data,您可以使用 @Document 注释来指定将对象保存到哪个集合。假设我有两个班级,学生和教师,都坚持到人员集合中。当我执行以下代码时:
mongo.find(new Query(), Teacher.class);
结果同时包含学生和教师。查看 Spring-Data 创建的数据,每个文档都包含一个“_class”字段,该字段指示它来自哪个类。
这是不是在查找中用作过滤器以仅返回教师的字段?除了这样做之外,我如何只查询老师:
mongo.find(new Query().addCriteria(where("_class").is(Teacher.class.getCanonicalName()), Teacher.class);