我有一个使用mongoose 4.0.1的问题
我正在尝试将新图片对象添加到模型内的数组中。这是我的终端实际上正在完成工作的代码:
// Add new images
exports.pictures = function(req, res) {
Incident.findByIdAndUpdate(
req.params.id,
{$addToSet: {"pictures": {$each: req.body}}},
{new: true},
function(err, incident) {
if (err) { return handleError(res, err); }
return res.send(201).json(incident.pictures);
}
);
};
问题:回调对象(事件)存储找到并更新的模型的所有信息。但我想只返回创建的新数组条目。
如何接收操作的实际更改而不是存储图片数组的整个对象?
答案 0 :(得分:0)
我通过为图片创建新架构并添加对事件模型的引用来解决问题。
端点也发生了变化:
var _ = require('lodash');
// Add new images
exports.pictures = function(req, res) {
Picture.create(req.body, function(err, pictures) {
if (err) { return handleError(res, err); }
Incident.findByIdAndUpdate(
req.params.id,
{$addToSet: {"pictures": {$each: pictures}}},
function(err) {
if (err) { return handleError(res, err); }
var pictureIds = _.map(pictures, '_id');
return res.status(201).json(pictureIds);
}
);
});
};