Tôi không thể nói điều gì đang xảy ra với ví dụ của bạn, ngoài việc bạn đang làm sai cách. MongoDB cung cấp một cách dễ dàng hơn, được xây dựng để xóa các mục khỏi một mảng bằng cách chỉ định chính xác hoặc thông qua một truy vấn:
Kìa $pull
nhà điều hành
.
Trong mongoose, một cách để làm điều này sẽ là:
Article.findByIdAndUpdate(this._id, {
$pull: {
likes: {user: user._id}
}
}, cb);