猫鼬从架构 arr 中删除对象



您好,我正在尝试使用 Mongoose 从我的模型中删除一个数组,但它似乎不起作用。我想从collectionImages中删除一个对象。 这是我的代码:

图式

var CollectionSchema = mongoose.Schema({
collectionName: String,
collectionImages: [
{
imageName: String,
}
],
path: String
});

删除方法:

router.delete("/collection/:id/:imageId", function (req, res) {
var imageId = req.params.imageId;
Collections.findById(req.params.id, function (err, collections) {
if (err) {
console.log(err);
} else {
for (var i = 0; i < collections.collectionImages.length; i++) {
if (collections.collectionImages[i]._id == imageId) {
var checkedImageId = collections.collectionImages[i]._id;
collections.collectionImages[i].splice(imageId,1);
};
}
}
;
});
});

形式:

<form id="deleteForm" action="/collection/<%= collections._id %>/<%= image._id %>?_method=DELETE" method="post">
<button class="fa fa-minus-circle">Delete</button>
</form>

尝试以下操作

Collections.update(
{ _id: req.params.id },
{ $pull: { 'collectionImages': { '_id': req.params.imageId } } }
).exec(function (err, user) {
if (err) { res.status(500).send(err); return; }
res.send();
});

欲了解更多信息,请阅读此内容

最新更新