Diciamo che ho uno schema nidificato (invito) in un altro schema (elemento) e quando provo a salvare un oggetto invito, voglio controllare se la proprietà genitore 'abilitata' dallo schema dell'articolo è impostato su true o false prima di consentire alla persona di salvare l'oggetto di invito nell'array di inviti. Ovviamente, this.enabled non funziona perché sta cercando di rimuoverlo da invitationSchema, che non esiste. Come si dovrebbe ottenere la convalida della proprietà 'enabled' sullo schema padre?Ottieni proprietà schema padre per la convalida con Mongoose e MongoDB
Qualche idea? Grazie per qualsiasi aiuto!
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);