【发布时间】:2017-05-23 00:45:44
【问题描述】:
所以我在 server.js 文件中定义了一个 db 模型,它将用于 POST :
var department = mongoose.model('department', {
departmentName: String,
rooms: [{
roomNumber: String,
width: Number,
height: Number,
posX: Number,
posY: Number,
sanitary: Boolean,
childcareArea: Boolean,
lounge: Boolean,
patient: {
patientnr: Number,
firstname: String,
lastname: String,
reasonOfHospitalization: String,
dateOfHospitalization: String,
expectedDateOfDischarge: String,
vegetarian: Boolean,
needsHelp: Boolean,
comments: String,
department: String,
roomNumber: String,
nextTreatment: {
type: String,
shortDescription: String,
timestamp: String
}
}
}]
});
现在我想要实现的是我的 post call 更新了患者对象。
public postPatient(patient: Patient) {
var headers = new Headers();
headers.append('Content-Type', 'application/json; charset=utf-/8');
let url ='http://localhost:8080/api/departments/patients/' + patient.patientnr;
this.http.post(url, JSON.stringify(patient), headers)
.map(res => res.json());
}
这就是我处理帖子的方式,但它不会更新我的数据库中的任何内容...
app.post('/api/departments/patients/:id', function(req, res) {
var patient = req.body.patient;
department.findOneAndUpdate(
{ "rooms.patient.patientnr": parseInt(req.params.id) },
{
"rooms": {
"$elemMatch": {
"patient.patientnr": parseInt(req.params.id)
}
}
}, {
"$set": {
"rooms.patient": patient
}
}, {
new : true
},
function (err, dept) {
if (err){
console.log(err.stack);
return res.send(err);
}
return res.json({
data: department,
status: 'success'
});
});
});
【问题讨论】:
标签: node.js mongodb angular mongoose