Вы хотите Type.GetNestedTypes . Это даст вам список типов, которые вы можете запросить для своих имен.
Предупреждение уже показывает вам: «Вы можете только гнездо использовать refs или массивы». Это дизайн мангуста.
Но вы можете сделать это:
var MySchema = new mongoose.Schema({
objectId: String,
parent: {
type: mongoose.Schema.ObjectId,
ref: 'MySchema'
},
})
Это будет использовать схему внутри схемы, тогда вы можете использовать «предварительное сохранение» для обновления данных вашего родителя. Или вы можете использовать массив ссылок и сохранить только один элемент.
Что делать, экспортируйте схемы, а не модели, чтобы вы могли их вложить. например:
module.exports = MySchema;
Затем у меня есть некоторый appModel для установки моделей моей коллекции схем, например this (app_model.js):
if(mongoose.modelNames().indexOf('mySchema') < 0) mongoose.model('mySchema', mySchema);