Es scheint mir logisch so etwas wie die folgenden Funktionen ausführen:Was ist das richtige Muster für verschachtelte Schemas in Mongoose/MongoDB?
var AvatarSchema = new Mongoose.Schema({
type: String,
url: String
});
var UserSchema = new Mongoose.Schema({
avatars: [AvatarSchema],
email: String,
name: String,
salt: String,
token: String
});
var ThinUserSchema = new Mongoose.Schema({
avatars: [AvatarSchema],
email: String,
firstname: String,
lastname: String,
});
var QuestionSchema = new Mongoose.Schema({
question: String,
users: [ThinUserSchema]
});
Dann später. . .do etwas wie folgt aus:
var question = new Question({
question: 'Wut?',
users: users //where users is an array of instances of a user model of the UserSchema
});
Hier möchte ich den Benutzer Abschnitt der Frage erwarten mit Avataren, E-Mails gefüllt werden, die Vornamen und lastnames. . Da die Benutzer/Avatare jedoch bereits _id haben, werden diese nicht beibehalten.
- Löschen jedes der _id vom Benutzer/Avatare scheint albern.
- Explizites Einrichten jedes Benutzers/Avatars scheint ineffizient zu sein.
- Wechseln zu einem gemischten Typ, setzt ALLES ein und erfordert markModified.
Was ist das richtige Muster für diese Arten von Schemas?
Danke!
Populate trifft die Datenbank mit einer zusätzlichen Abfrage und es ermöglicht keine unvollständige Auswahl von Feldern aus der anderen Sammlung. Ich denke, [subdocs] (http://mongoosejs.com/docs/subdocs.html) sind hier geeigneter. – mtsr