Varningen visar redan "Du kan bara kapsla med hjälp av refs eller arrayer.". Detta är en mongoosedesign.
Men det du kan göra är att:
var MySchema = new mongoose.Schema({
objectId: String,
parent: {
type: mongoose.Schema.ObjectId,
ref: 'MySchema'
},
})
Detta kommer att använda ett schema inuti ett schema, sedan kan du använda en "pre save" för att uppdatera din förälders data. Eller så kan du använda en uppsättning refs och behålla med bara ett element.
Vad du behöver göra är att exportera scheman och inte modellerna, så att du kan kapsla det.så här:
module.exports = MySchema;
Sedan har jag en appModel för att ställa in modellerna för min samling av scheman, så här (app_model.js):
if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);