我有两个计划项目和任务。
const mongoose = require("mongoose");
const projectSchema = new mongoose.Schema({
title: String,
sub_title: String,
tasks: [{ type: mongoose.Schema.Types.ObjectId, ref: "Task" }],
});
const Project = mongoose.model("Project", projectSchema);
module.exports = Project;
const mongoose = require("mongoose");
const taskSchema = new mongoose.Schema({
title: String,
sub_title: String,
time: String,
projectId: String,
timeSheet:[],
project: { type: mongoose.Schema.Types.ObjectId, ref: "Project" },
});
const Task = mongoose.model("Task", taskSchema);
module.exports = Task;
我让用户输入项目细节,然后可以在其中添加任务。我使用populate方法来获取项目模式中与特定项目相关的所有任务。但是当我得到所有项目时,它并没有在其中添加任务。请帮我解决这个bug。
我曾试图通过推送来添加任务,但当我更新任务时,它不会显示在项目模式中
1条答案
按热度按时间niknxzdl1#
不幸的是,mongoose关系不会自动建立,因此您仍然需要将Project
_id
添加到每个Task中。就像你把每个任务_id
添加到每个项目的项目数组中一样。现在,当你想获取项目并调用
populate
时,它会查找任务并将每个项目中的ObjectId替换为完整的文档。