Я не могу понять, как я удаляю данные в другой схеме MongoDB при создании.Как вызвать delete из другого класса MEAN
Я бегу по столу mean.js.
exports.create = function(req, res) {
var sign = new Sign(req.body);
sign.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
sign.timesheets.forEach(function(entry) {
console.log(entry._id);
});
res.jsonp(sign);
}
});
};
Здесь я звоню, чтобы создать знак. Знак содержит некоторые строки и массивы «расписания» с объектами расписания.
У меня также есть схема для расписаний, я хочу удалить все объекты расписания, которые включены в мой знак из схемы расписаний.
Вот мои табели удалить контроллер:
exports.delete = function(req, res) {
var timesheet = req.timesheet;
timesheet.remove(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(timesheet);
}
});
};
Как назвать это от мин контроллера знакового для каждого расписания знака?
Edit:
Маршрут:
module.exports = function(app) {
var sign = require('../../app/controllers/sign.server.controller');
var timesheets = require('../../app/controllers/timesheets.server.controller');
app.route('/sign')
.post(sign.create, timesheets.deleteAll);
delete all
exports.deleteAll = function(req, res) {
var timesheet = req.timesheet;
timesheet.timesheets._id.forEach(function(entry) {
entry.remove(function(err) {
console.log(entry);
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(entry);
}
});
});
};
Он работает, и я могу видеть идентификатор в консоли, но это ничего не удалять.
Если вы обращаетесь к этим контроллерам throu API, попробуйте решение Майка под моим вопросом: http://stackoverflow.com/questions/28138498/access-api-endpoints-in-meanjs-from-server-controller – karolkochan
@karolkochan сделанное, что теперь не нужно удалять расписания:/ – Stweet
Я думаю, что ваш код 'entry.remove (...)' в 'deleteAll' не знает, что запись ссылается на вашу модель расписания. Поэтому вам нужно запустить что-то вроде 'Timesheed.remove ({_id: {$ in: your_array}}, false);' (refferring to mongo docs), где 'your_array' в этом случае' timesheet.timesheets' – karolkochan