Załóżmy, że mam zagnieżdżony schemat (zaproszenie) w innym schemacie (element) i podczas próby zapisania obiektu zaproszenia, chcę sprawdzić, czy właściwość nadrzędna jest włączona ze schematu przedmiotu jest ustawiona wartość true lub false, zanim zezwolisz osobie na zapisanie obiektu zaproszenia do tablicy zaproszeń. Oczywiście plik this.enabled nie działa, ponieważ próbuje go usunąć z elementu inviteSchema, który nie istnieje. W jaki sposób można uzyskać właściwość "enabled" w schemacie nadrzędnym w celu sprawdzenia poprawności?Uzyskaj właściwość schematu nadrzędnego do sprawdzania poprawności za pomocą Mongoose i MongoDB
Jakieś myśli? Dzięki za pomoc!
var validateType = function(v) {
if (v === 'whateverCheck') {
return this.enabled || false; <== this doesn't work
} else {
return true;
}
};
var invitationSchema = new Schema({
name: { type: String },
type: {
type: String,
validate: [validateType, 'error message.']
}
});
var itemSchema = new Schema({
title: { type: String },
description: { type: String },
enabled: {type: Boolean}, <== trying to access this here
invitations: { type: [ invitationSchema ] },
});
var ItemModel = mongoose.model('Item', itemSchema, 'items');
var InvitationModel = mongoose.model('Invitation', invitationSchema);