Tôi gặp sự cố mà tôi chưa từng thấy trước đây với Mongoose findByIdAndUpdate không trả về đúng kiểu trong cuộc gọi lại.Mongoose findByIdAndUpdate không trả về đúng kiểu
Dưới đây là các mã:
var id = args._id;
var updateObj = {updatedDate: Date.now()};
_.extend(updateObj, args);
Model.findByIdAndUpdate(id, updateObj, function(err, model) {
if (err) {
logger.error(modelString +':edit' + modelString +' - ' + err.message);
self.emit('item:failure', 'Failed to edit ' + modelString);
return;
}
self.emit('item:success', model);
});
Các tài liệu gốc trong db trông như thế này:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 1'
}
Các updateObj đi vào trông như thế này:
{
_id: 1234
descriptors: Array[2],
name: 'Test Name 2'
}
Mô hình này trở từ cuộc gọi lại giống với mô hình gốc, không phải là bản cập nhậtObj. Nếu tôi truy vấn db, nó đã được cập nhật chính xác. Nó chỉ không được trả về từ cơ sở dữ liệu.
Điều này giống như lỗi 'người dùng ngu ngốc', nhưng tôi không thể nhìn thấy nó. Bất kỳ ý tưởng đánh giá rất nhiều.
Đó là một điểm tuyệt vời. Và một lời nhắc nhở tại sao tôi cần phải giữ tất cả các dự án của tôi phù hợp trên các phiên bản, như gói đó đã đi qua các bài kiểm tra đơn vị riêng của nó. Cảm ơn bạn. – JonRed