Tôi không thể điền thủ công hoặc tự động trường trình tạo trên một đối tượng mới được lưu ... cách duy nhất tôi có thể tìm là truy vấn lại các đối tượng tôi đã có mà tôi không muốn làm.
Đây là thiết lập:
var userSchema = new mongoose.Schema({
name: String,
});
var User = db.model('User', userSchema);
var bookSchema = new mongoose.Schema({
_creator: { type: mongoose.Schema.Types.ObjectId, ref: 'User' },
description: String,
});
var Book = db.model('Book', bookSchema);
Đây là nơi tôi đang nhổ tóc
var user = new User();
user.save(function(err) {
var book = new Book({
_creator: user,
});
book.save(function(err){
console.log(book._creator); // is just an object id
book._creator = user; // still only attaches the object id due to Mongoose magic
console.log(book._creator); // Again: is just an object id
// I really want book._creator to be a user without having to go back to the db ... any suggestions?
});
});
CHỈNH SỬA: mongoose mới nhất đã khắc phục sự cố này và thêm chức năng điền, xem câu trả lời mới được chấp nhận.
creator.profile