Mongoose puebla después de guardar

No puedo rellenar el campo del creador de forma manual o automática en un objeto recién guardado ... la única forma que puedo encontrar es volver a consultar los objetos que ya tengo, lo que no me gustaría hacer.

Esta es la configuración:

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);

Aquí es donde estoy tirando de mi pelo.

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?
    });
});

EDITAR: la última mangosta solucionó este problema y agregó la funcionalidad de poblado, vea la nueva respuesta aceptada.

Respuestas a la pregunta(5)

Su respuesta a la pregunta