嗨,我有一个名为问题的结构,它内部有章节,章节有 DBref 到 BookEdition,BookEdition 有 DBRef 到 Book
Problem {
String name,
@DBRef
Chapter chapter;
}
Chapter {
String name,
@DBRef
BookEdition edition;
}
BookEdition {
String name,
Book book;
}
如果我只是获取需要花费大量时间来获取的问题,那么我只想使用 fields().include() 包含我需要的信息,但我无法找到 DBRefed 的字段,例如章节、预订或书籍
Query q = new Query().addCriteria(Criteria.where("html").ne("").ne(null)
.and("chapter.$id").ne(""));
q.fields().include("id")
.include("name")
.include("html");
工作正常,但如果我只想要章节 ID
Query q = new Query().addCriteria(Criteria.where("html").ne("").ne(null)
and("chapter.$id").ne(""));
q.fields().include("id")
.include("name")
.include("html")
.include("chapter._id")
.include("chapter.bookEdition.isbn13")
.include("chapter.$bookEdition.$editionNumber")
.include("chapter.$bookEdition.$book.subjectId")
.include("chapter.$bookEdition.$book.title");
它不获取章节 ID、预订信息。我希望我能够解释我的问题。有什么方法可以指定要包含的 DBRef 的特定字段吗?