【发布时间】:2017-04-09 04:20:11
【问题描述】:
我无法删除数组中的元素,该元素是 MongoDB 模型的属性。 请记住这是一个 NodeJS 模块 mongooseJS 而不是真正的 MongoDB,所以功能不一样..
目标:从 statusLiked 数组中删除一个对象。 | 我也确认 status.id 的值是正确的。
型号:
Const userSchema = new mongoose.Schema({
myStatus: Array,
statusLiked: Array,
)};
删除: 1.删除状态(作品)。 2.从User.statusLiked中删除状态(没有工作)。
exports.deleteStatus = (req, res, next) => {
var CurrentPost = req.body.statusid; // sends in the status.id
Status.remove({ _id: CurrentPost }, (err) => {
if (err) { return next(err); }
// vvvv this vvv
User.update( {id: req.user.id}, { $pullAll: {_id: CurrentPost }, function(err) { console.log('error: '+err) } });
req.flash('success', { msg: 'Status deleted.' });
res.redirect('/');
});
};
会发生什么:特定状态(对象)从数据库中删除。但是状态仍然保留在 User.statusLiked 数组中。
我想要发生的事情:要从 User.statusLiked 数组中删除的状态以及要从数据库中删除的状态。然后,重新加载页面并显示通知。
【问题讨论】:
标签: node.js mongodb mongoose mongoose-schema