我有与 MongoDB 的 DBRef 相关的问题。想象一下这个场景:
Group{
...
"members" : [
{
"$ref" : "User",
"$id" : ObjectId("505857a4e4b5541060863061")
},
{
"$ref" : "User",
"$id" : ObjectId("50586411e4b0b31012363208")
},
{
"$ref" : "User",
"$id" : ObjectId("50574b9ce4b0b3106023305c")
},
]
...
}
所以给定的组文档有 3 个用户 DBRef。在 Group 的 java 类中,成员被标记为 morphia 作为@Reference:
public class Group {
...
@Reference
List<User> members;
...
}
问题:当调用 RequestFactory 函数 getGroup().with("members") 时,RequestFactory 是否会在只有 1 个 DB 访问中获得所有成员?
或者在上面给出的场景中,请求工厂是否会为 Group 文档中的每个 DBRef 进行 3 个 DB 访问?
非常感谢您提前。