Использование MongoJs и Node.JS для хранения данных
Я успешно подключился к MongoDb и использовал форму для отправки некоторых данных. Теперь я хотел бы сохранить данные в документе JSON с коллекцией. Итак, мой текущий вывод:
{
"_id": "53be957007d2c838083046a6",
"subscriberinfo": "X",
"grouporpolicynumber": "X",
"title": "X",
"clientnumber": "X",
"xnumber": "X",
"postedOn": "2014-07-10T13:30:24.499Z"
}
Я хотел бы, чтобы это выглядело так:
{
"_id": "53be957007d2c838083046a6",
"ReferenceInfo": {
"subscriberinfo": "00003",
"grouporpolicynumber": "Direct",
"title": "SNP",
"clientnumber": "VG00003M",
"HICnumber": "264134187C"
}
"postedOn": "2014-07-10T13:30:24.499Z"
}
Текущий код выглядит так:
function postNewJob(req , res , next){
var job = {};
job.subscriberinfo = req.params.subscriberinfo;
job.grouporpolicynumber = req.params.grouporpolicynumber;
job.title = req.params.clientreportingcategory;
job.clientnumber = req.params.clientnumber;
job.HICnumber = req.params.hicnumber;
job.postedOn = new Date();
res.setHeader('Access-Control-Allow-Origin','*');
memberInfo.save(job , function(err , success){
console.log('Response success '+success);
console.log('Response error '+err);
if(success){
res.send(201 , job);
return next();
}else{
return next(err);
}
});
}
1 ответ
Вы пробовали что-то подобное?
function postNewJob(req , res , next){
var job = {
referenceInfo: {
subscriberinfo : req.params.subscriberinfo,
grouporpolicynumber : req.params.grouporpolicynumber,
title : req.params.clientreportingcategory,
clientnumber : req.params.clientnumber,
HICnumber : req.params.hicnumber
},
postedOn: new Date();
};
res.setHeader('Access-Control-Allow-Origin','*');
memberInfo.save(job, function(err, job){
if(err) {
console.error('Response error ' + err);
next(err);
} else {
console.log('Response success ' + job);
res.send(201, job);
next(req, res);
}
});
}
С другой стороны, я изменил функцию обратного вызова, которая была передана для сохранения. Mongo вызовет функцию, передавая ошибки и данные (данные в данном случае - задание), что позволяет вам условно регистрировать ошибки или успехи в зависимости от состояния сохранения. Кроме того, поскольку это асинхронные функции, возврат вызова next() фактически не повлияет на код. Кроме того, при вызове next() желательно передать req и res из ранее, чтобы можно было выполнить больше действий с этими данными.
Надеюсь, это поможет!