我有两个类人和任务。这是一对多的关系:一个人有一个任务列表,一个任务属于一个人。
我的应用程序有两个视图。在其中一个中,我需要显示与每个人相关的人员和任务。在另一个中,我需要显示与之关联的任务和人员。
我的第一个想法是在 Mongo中使用双向引用。因此,一个人将有一个任务 ID 列表,而一个任务将有一个人 ID。
像这样:
{
_id: ObjectID("AAF1"),
name: "Person Name",
tasks [
ObjectID("ADF9"),
ObjectID("AE02"),
ObjectID("AE73")
]
}
和:
{
_id: ObjectID("ADF9"),
description: "Task One",
owner: ObjectID("AAF1")
}
但是我不知道如何设计我的 Spring 应用程序来查找所有 Persons 并构建一个包含嵌入其中的任务列表的单个 json 以发送到 UI。我正在使用 MongoOperations 来查找我使用的所有 Persons
findAll(Person.class)
。由于我没有在 Persons 中嵌入 Tasks 文档,因此这些对象只有 Tasks Id 的列表。获取任务时也是如此:我想将 Person 添加到我将发送到 UI 的 JSON 中。
我尝试使用@DBref
并将任务列表添加到人员和人员到任务,但这以堆栈溢出结束,因为每个任务都有一个人,一个人有一个任务,每个任务都有一个人等等。