Для других, не знакомых с более глубокими аспектами работы Mongoose, существующие ответы могут быть запутанными.
Вот обобщенная реализация пример импорта схемы из другого файла, доступного для более широкой аудитории, исходя из более общего контекста.
const modelSchema = require('./model.js').model('Model').schema
Вот модифицированная версия для конкретного случая в вопросе (это будет использовано внутри album.js).
const SongSchema = require('./songs.js').model('Song').schema
Исходя из этого, я вижу, что вы сначала обращаетесь к файлу и запрашиваете его, как обычно требуется модель, за исключением того случая, когда вы сейчасспециально обращайтесь к схеме этой модели.
Для других ответов требуется, чтобы mongoose в объявил переменную, что противоречит общеизвестному примеру требования к мангусте перед объявлением переменной, такой как const mongoose = require('mongoose');
изатем с помощью мангуста, как это.Такой вариант использования не был доступен для меня по знаниям.
Альтернативный вариант
Вы можете потребовать только модель , как обычно, и затем обратиться ксхема через свойство схемы модели.
const mongoose = require('mongoose');
// bring in Song model
const Song = require('./songs.js');
const AlbumSchema = new Schema({
// access built in schema property of a model
songs: [Song.schema]
});