Javascript 如何从其他类调用delete
我不知道在创建时如何删除另一个MongoDB方案中的数据 我在mean.js堆栈上运行Javascript 如何从其他类调用delete,javascript,angularjs,mongodb,mean-stack,Javascript,Angularjs,Mongodb,Mean Stack,我不知道在创建时如何删除另一个MongoDB方案中的数据 我在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)
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);
}
});
};
在这里,我打电话创建一个标志。符号包括一些字符串和带有时间表对象的数组“timesheets”
我还得到了一个时间表方案,我想从时间表方案中删除我的签名中包含的所有时间表对象
这是我的时间表删除控制器:
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);
}
});
};
对于sign中的每个时间表,我如何从min sign controller调用它
编辑:
路线:
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);
}
});
});
};
它运行时,我可以在控制台中看到id,但它不会删除任何内容。如果您将其实现为每个SignSchema文档中的TimesheetSchema文档数组,那么删除父文档将带走其中的所有内容
如果将其存储为引用另一个集合中的文档的ID数组,则必须逐个检查并删除它们。但我认为,如果你不需要做任何花哨的事情,最好采用第一种方法。这是因为您可以轻松地处理删除操作,而且从语义和性能角度来看,一次检索处理“符号”所需的所有内容更有意义。如果您通过API访问此控制器,试一下Mike在我的问题下的解决方案:@karolkochan完成了,现在把它放在dosen不删除时间表上:/I认为你的代码
条目。在deleteAll
函数中删除(…)
不知道条目引用了你的时间表模型。因此,您需要运行类似于Timesheed.remove({u id:{$in:your_array},false)的程序
(参考mongo docs)此处您的_数组
在本例中是时间表。时间表
@karolkochan yea您是对的,现在看起来是这样,但如果它有多个时间表,则会崩溃,认为它是原因res.jsonp(时间表),在每次完成后如何将其更改为res?:)您可以尝试这样做:或者这样做:只需添加索引
变量并检查返回响应对象的最后一个元素。