我使用貓鼬4.11.10,我宣佈了2個模型:用戶&任務。我的用戶模型是:使用填充表單完成
let UserSchema = mongoose.Schema({
name: {
type: String,
required: true,
minlength: 1,
maxlength: 15
}
});
let User = mongoose.model("UserModel", UserSchema);
從用戶模型中的片段:
let TaskSchema = mongoose.Schema({
userName: {
type: mongoose.Schema.ObjectId,
ref: "User",
required: false,
minlength: [1, "Invalid name"],
maxlength: [15, "Too big name"]
}
});
let Task = mongoose.model("TaskModel", TaskSchema);
從來就拿到形式,在這裏我輸入所有這些值:
<p>Add new task: </p>
<form action="/api/tasks/" method="post">
Name:
<input type="text" name="name">
<br>
Definition:
<input type="text" name="definition">
<br>
Status:
<input type="text" name="status">
<br>
Responsible user:
<input type="text" name="userName">
<br>
Deadline:
<input type="date" name="deadline" >
<br><br>
<input type="submit" value="SEND">
</form>
在服務器端我有控制器:
api.post("/tasks/", (req, res) => {
let name = req.body.name;
let definition = req.body.definition;
let status = req.body.status;
let userName = req.body.userName;
let deadline = req.body.deadline;
if (userName.length < 1) {
Task.create({name: name}, {definition: definition}, {status: status}, {userName: "not delegated yet"}, {deadline: deadline})
.then(() => {
console.log("Insertion successful");
res.redirect("/api/tasks");
})
.catch(err => {
console.log("Cannot insert");
throw err;
})
} else {
Task.create({name: name}, {definition: definition}, {status: status}, {userName: userName}, {deadline: deadline})
.then(() => Task.findOne({name: name}).populate("userName"))
.then(() => {
console.log("Insertion successful");
res.redirect("/api/tasks");
})
.catch(err => {
console.log("Cannot insert");
throw err;
})
}
});
就像你可以看到,我想鏈接2架構:我想要「委派」任務在指定的用戶,但現在填充()貓鼬方法不起作用:(我怎樣才能解決這個問題?
任何幫助將不勝感激!
nope :(該問題也未解決 –