Ich bin sehr neu in MongoDB und verwende Mongoose.Speichern von Eins-zu-viele-Beziehungen in Mongoose beider Seiten
Ich habe zwei Modelle: users
und recipes
.
User
:
recipes: [{
type: Schema.Types.ObjectId,
ref: 'recipes'
}],
Recipe
:
_creator: {
type: Schema.Types.ObjectId,
ref: 'User',
childPath: "recipes"
},
Wenn ich versuche, ein Rezept zu speichern und ich zuweisen den Benutzer zu einem Rezept:
var recipe = new models.Recipe({
title: req.body.title,
slug: req.body.slug,
_creator: user._id
});
recipe.save();
Das Rezept gespeichert wird nur gut (obwohl ich Rezept nicht tun kann ._creator.name, um den Benutzernamen aus dem Rezept zu erhalten). Aber wenn ich versuche, die Benutzerdetails zu erhalten, ist das recipes
Array leer. Ich würde erwarten, dass es mit der neu erstellten Rezeptreferenz gefüllt wurde. Warum ist es nicht?
_I nicht in der Lage ist 'zu tun recipe._creator.name'_ Sie in der Lage sein sollten, ohnehin NoSQL-Datenbanken verwenden Beziehungen nicht, es ist eher ein verschachtelten Dokumente, Sie auf jeden Fall habe bessere Möglichkeit, Modelle zu schreiben –
Ich habe meine Modelle auf die gleiche Weise eingerichtet, wie es auf dieser Mungo-Seite beschrieben wird http://mongoosejs.com/docs/populate.html aber ich bin nicht ganz dabei, wie man sie auf eine Art und Weise speichert ich kann "Beziehungen" Zugang von beiden Seiten –