gpt4 book ai didi

java - MongoDB如何使用morphia加载引用文档的两个属性

转载 作者:太空宇宙 更新时间:2023-11-04 08:12:37 27 4
gpt4 key购买 nike

如何使用吗啡加载引用文档/实体的两个属性

我有这样的类(class)和学校
人员类别

@Entity
public class Person {
@Id private ObjectId id;
private String name;
@Embedded private PersonEducation schoolInfo;
}
@Embedded
public class PersonEduction {
@Reference private School school;
private String year;
private String degree;
}


学校类(class)

@Entity
public class School {
@Id private ObjectId id;
private String name;
private String address;
private String description;
}

如何在 Person 类中获取 School 的 id 和 name 字段例子当我想要人时

Person person = datastore.find(Person.class).field("name").equals("xyz").get();
person.gerSchoolInfo();

响应(不需要所有学校类(class)字段)

{school:{_id:ObjectId("4fcef3e20364a375e7631fb0"), name:"SchoolA"}, year:"1990", degree:"MBA" }

如果我查询学校,其中 _id=ObjectId("4fcef3e20364a375e7631fb0"),我会得到所有学校字段

{_id:ObjectId("4fcef3e20364a375e7631fb0"), name:"xyz", address="some add", description="some desc"}

最佳答案

您应该使用

,而不是使用 @Reference
key<School> school;

并使用自定义查询来加载它。

datastore.createQuery(School.class).retrivedFields(true, "id","name");

关于java - MongoDB如何使用morphia加载引用文档的两个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10929516/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com