【发布时间】:2015-12-22 20:48:05
【问题描述】:
这里是 REST/API 新手!
我想为用户保存一个列表,但我没有得到想要的响应。
我的猫鼬模式如下所示:
var mongoose = require("mongoose"),
mongooseSchema = mongoose.Schema,
userSchema = {
"name": String,
"email": String,
"cookies": {
"cookie": [{
"name": String,
"brand": String
}]
}
};
我的用户路线(混乱的部分)如下所示:
User.findById(req.params.id, function (err, user) {
user.name = req.body.name;
user.email = req.body.email;
user.cookies = {
"cookie": [{
"name": req.body.cookies.cookie.name,
"brand": req.body.cookies.cookie.brand
}]
};
我的回答最终是:
{
"_id": "56048e38701a663707b49c7a",
"__v": 0,
"email": "netopwibby@thenetwork.email",
"name": "NetOperator Wibby",
"cookies": {
"cookie": []
}
}
在过去的一周里,我一直在努力让 API 启动并运行,在进一步取得成功的同时,我还没有做到。如果有人能解释为什么我的代码不能正常工作,我将不胜感激。
编辑:我更新了我的用户更新功能以应用@ianaya89 的代码,但仍然没有运气。在此处完整发布该功能。
function updateUser(req, res) {
var updatedUser = {};
updatedUser.name = req.body.name;
updatedUser.email = req.body.email;
updatedUser.cookies = {
"cookie": [{
"name": req.body.cookies.cookie.name
"brand": req.body.cookies.cookie.brand
}]
};
User.findByIdAndUpdate(req.params.id, updatedUser, {new: true})
.exec(function(err, user) {
if (err) {
res.json({
"ERROR": err
});
} else {
res.json({
"UPDATED": user
});
}
//... your callback
});
}
【问题讨论】:
-
你需要根据传递的id找到一条记录吧?
标签: node.js mongodb rest express mongoose