tôi có mô hình Mongoose sau:Mongoose findByIdAndUpdate xóa bỏ không cập nhật tính
var mongoose = require('mongoose');
var userSchema = mongoose.Schema({
facebook: {
name: String,
email: String,
customerId: String
}
});
var User = mongoose.model('User', userSchema);
Khi tôi cập nhật một phần của tài liệu này sử dụng findByIdAndUpdate
User.findByIdAndUpdate(id, {
$set: {
facebook: {
name: name
}
}
});
name
được cập nhật, trong khi email
và customerId
nhận được gỡ bỏ (unset?).
Tôi không tìm thấy tài liệu này.
Có cách nào để chỉ cập nhật các thuộc tính tài liệu cụ thể với findByIdAndUpdate
không?
vâng, cảm ơn. tôi chỉ tìm thấy bản thân mình trong tài liệu mongodb. tôi có phải sử dụng $ set không? – krl
Tất nhiên có nếu bạn không sử dụng $ set, nó sẽ cập nhật tài liệu để chỉ cập nhật đối tượng xóa tất cả các trường cũ. –
tốt, nó không. tôi chỉ thử nghiệm nó mà không cần thiết lập như thế này: User.findByIdAndUpdate (id, {'facebook.name': name}) và nó giữ tất cả các lĩnh vực cũ. – krl