Ich kann das Erstellerfeld nicht manuell oder automatisch in ein neu gespeichertes Objekt einfügen. Die einzige Möglichkeit, die ich finden kann, besteht darin, die bereits vorhandenen Objekte erneut abzufragen, was ich gerne tun würde.
Dies ist das Setup:
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);
Hier ziehe ich an meinen Haaren
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?
});
});
BEARBEITEN: Der neueste Mungo hat dieses Problem behoben und die Funktion zum Auffüllen hinzugefügt. Siehe die neu akzeptierte Antwort.
creator.profile