我有两个实体,课程和主题如下,
@Document(collection = "course")
public class Course implements Serializable {
{
...........
@Field("course_name")
private String courseName;
@Field("subjectIds")
private List<String> subjectIds;
...
}
@Document(collection = "subject")
public class Subject implements Serializable {
private static final long serialVersionUID = 1L;
@Id
private String id;
@Field("subject_name")
private String subjectName;
...................
}
这里&#34;课程&#34;包含主题的ID列表。 所以,我有一个主题Id说(&#34; 59ce80a4a2e7f329eccac601&#34;),我需要找到这个主题id将出现在Course的subjectIds属性列表中的所有课程。
有什么方法可以在查询中写这个。
我正在使用spring的mongorepository
答案 0 :(得分:0)
MongoDB本机查询:
db.course.find({subjectIds: { $elemMatch: { $eq: "59ce80a4a2e7f329eccac601"}}})
相应的Spring Data MongoDB查询:
@Query("{'subjectIds': {\$elemMatch: {\$eq: ?0}}}")