用户拥有猫鼬中的字段,如果用户决定更新,它将得到更新。如何更新在ejs + mongoose中有多个值的表单?
这里的用户模式
var User = Schema({
education: [{ type: String}],
});
所以基本上一个用户,他们可以更新或添加,例如用户可以添加额外的教育和使用形式的技能信息字段。
如何在ejs和路线中正确做到这一点?
我试图在route.js
router.post('/update-resume', function(req, res) {
User.findById(req.user._id, function(err, foundUser) {
// This part how do I update ?
if (req.body.education) foundUser.resume.education.push(req.body.education);
foundUser.save();
});
});
价值不断推进,我想,我知道这是很明显,我推数据到外地,但我怎么更新正常吗?
Form.ejs
<div class="form-group">
<label for="education">Education:</label>
<% for(var i = 0; i < user.resume.education.length; i++) { %>
<input type="text" class="form-control" name="education" id="education" value="<%= user.resume.education[i] %>">
<% } %>
</div>
这是真的,我需要为每个循环领域?如果我想更新具体数据?
我试过了,特别是在JSON.parse中出现了很多错误 - >不断收到意外的令牌。你确定它是req.body.data?因为html是data-id。 –
杰克,我已经添加了客户端JavaScript的简要说明,以解释它做了什么。如果你在页面下方的页面上有它,它将完成所有艰苦的工作并对它创建的数组进行字符串化。应该没有解析错误,因为它只是一个字符串化的对象(由JSON完成,所以它应该是有效的)。你能粘贴错误吗? – Rick