Ostrzeżenie już pokazuje „Możesz zagnieżdżać tylko za pomocą ref lub tablic.”. To jest wzór mangusty.
Ale możesz zrobić:
var MySchema = new mongoose.Schema({
objectId: String,
parent: {
type: mongoose.Schema.ObjectId,
ref: 'MySchema'
},
})
Spowoduje to użycie schematu wewnątrz schematu, a następnie możesz użyć „wstępnego zapisu”, aby zaktualizować dane swojego rodzica. Możesz też użyć tablicy ref i zachować tylko 1 element.
Wystarczy wyeksportować schematy, a nie modele, aby można je było zagnieździć w ten sposób:
module.exports = MySchema;
Następnie mam trochę appModel, aby ustawić modele mojej kolekcji schematów, tak jak ten (app_model.js):
if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);