当前位置: 首页 > 知识库问答 >
问题:

MongoDB如何使用morphia加载参考文档的两个属性

赫连泰宁
2023-03-14

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

@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;
}
@Entity
public class School {
   @Id private ObjectId id;
   private String name;
   private String address;
   private String description;
}
Person person = datastore.find(Person.class).field("name").equals("xyz").get();
person.gerSchoolInfo();
{school:{_id:ObjectId("4fcef3e20364a375e7631fb0"), name:"SchoolA"}, year:"1990", degree:"MBA" }
{_id:ObjectId("4fcef3e20364a375e7631fb0"), name:"xyz", address="some add", description="some desc"}

共有1个答案

鲁霄
2023-03-14

您应该使用@reference,而不是使用

key<School> school;

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

datastore.createQuery(School.class).retrivedFields(true, "id","name");
 类似资料:
  • 参考文档 Dockerfie 官方文档:https://docs.docker.com/engine/reference/builder/ Dockerfile 最佳实践文档:https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ Docker 官方镜像 Dockerfile:https://github.

  • 我有数据保存在员工的Spring和“个人发展计划”中。可以说,员工是主导阶层。它看起来像这样: 个人发展计划如下: 在数据库中,它被存储为来自

  • 浏览下面的网页,了解更多 CityBuilder 相关信息。 常用坐标系 常用在线工具 常用地理底图 常见问题

  • 如用户手册中所述,参考文档按逻辑模块进行了区分. Concepts 由库提供的(约束语义)Concept Applicative 表示具有提升值和组合计算的能力的函数 Comonad 表示上下文相关的计算和数值 Comparable 表示相等和不相等的比较 Constant 表示数据需要在编译时可操作 Euclidean Ring 表示也可以被赋予分割算法的交换“环” Foldable 表示该数据

  • 《计算机网络》 《TCP/IP详解》 《深入浅出DPDK》 《重构网络-SDN架构与实现》 《SDN核心技术剖析和实战指南》 《深入理解LINUX网络技术内幕》 Open Networking Foundation OpenStack Networking Guide https://www.openstack.org/ https://www.opnfv.org/ http://dpdk.org

  • 注:内容来自官方 Reference Overview 这个章节包含在C++, Java, Python, Go, C#, 和 Objective C中使用protocol buffer类的参考文档,还有一些protocol buffer自身的参考文档。每个语言的文档包含: 从.proto文件用protocol buffer编译器生成的代码的参考指南 为提供的源代码而生成的API文档 注意还有更多