Ещё раз задача: — ФАЙЛ А. const childSchema = new Schema({ name:

String
});


ФАЙЛ Б
const parentSchema = new Schema({
// Single subdocument
child: childSchema,

// Array of subdocuments
children: [ childSchema ]
});
—-
Вопрос:
Что нужно дописать в каждый файл чтоб childSchema была видна? Чтоб код не выдавал ошибку банально.

26 ответов

25 просмотров

const childSchema = require("./childSchema")

None-none Автор вопроса
Алексей Попов
const childSchema = require("./childSchema")

да, но тогда children: [ childSchema ] не работает.

None none
да, но тогда children: [ childSchema ] не работает...

почему? если ты в childSchema экспортируешь модель - всё должно работать

None-none Автор вопроса
Алексей Попов
почему? если ты в childSchema экспортируешь модель...

Файл А. module.exports = mongoose.model( 'diceRolls', diceRollSchema ); Файл Б const DiceRoll = require( './DiceRoll' ); diceRolls: [ DiceRoll ],

None none
Файл А. module.exports = mongoose.model( 'diceRoll...

и? я не могу понять в чём проблема, у меня так схемы описаны - в разных файлах

None-none Автор вопроса
None-none Автор вопроса
Алексей Попов
как ругается? без мата хоть?

throw new TypeError('Invalid schema configuration: ' + ^ TypeError: Invalid schema configuration: model is not a valid type within the array diceRolls.See http://bit.ly/mongoose-schematypes for a list of valid schema types.

None-none Автор вопроса
None none
throw new TypeError('Invalid schema configuration:...

чувство юмора - лучше, чем молодое гонево. Благодарю отдельно.

None none
throw new TypeError('Invalid schema configuration:...

а если написать diceRolls: { type: [DiceRoll] }, ?

None-none Автор вопроса
Алексей Попов
а если написать diceRolls: { type: [DiceRoll] }, ?

diceRolls: {type: [DiceRoll]}, ————- throw new TypeError('Invalid schema configuration: ' + ^ TypeError: Invalid schema configuration: model is not a valid type within the array diceRolls.See http://bit.ly/mongoose-schematypes for a list of valid schema types.

None none
Файл А. module.exports = mongoose.model( 'diceRoll...

Ты не можешь модель засунуть в схему

None-none Автор вопроса
Vladislav Stepanov
Ты не можешь модель засунуть в схему

Спасибо. Это я уже понял. Пока сделал иначе. но как правильно так и не понял ещё. пока пользуюсь вот так, не знаю насколько это костыли... // diceRolls: [ DiceRoll ], diceRolls: [{ type: Schema.ObjectId, ref: 'diceRolls', }],

None none
Спасибо. Это я уже понял. Пока сделал иначе. но ка...

Если бы ты понял, ты бы знал что ты сделал связь Но можно ее и не делать а указывать СХЕМУ, а не модель другой сущности https://mongoosejs.com/docs/subdocs.html

None-none Автор вопроса
Vladislav Stepanov
screenshot Если бы ты понял, ты бы знал что ты сделал связь Н...

Ох уж эти молодые... выводы вперёд всего... 1) на скрине не мой код, но код из примера. 2) я понимаю, что модуль не получается, а как правильно - не понимаю. П.с. но педагогический талант стоит развивать. 😉

None none
Ох уж эти молодые... выводы вперёд всего... 1) на ...

ну уж извините, какой смысл тогда было кидать код, если у вас по другому

None-none Автор вопроса
Vladislav Stepanov
ну уж извините, какой смысл тогда было кидать код,...

я хотел понять, как правильно. В сообщениях это описал. Но для полной ясности: 1) в примерах и в доке идёт массив "схем", но при этом схемы описаны в одном файле (!). 2) у меня ситуация, где я должен дополнять ф-ционал уже имеющегося проекта, т.е. схемы уже используются и подвязаны везде. 3) вообще всё в один файл - несколько не целесообразно, тем паче, что это две разные ( отдельные ) сущности. 4) т.о. мне нужно было понять, как импортировать схему в другой файл - вопрос был об этом изначально. Т.е. " что дописать в каждый файл. чтоб работало правильно. Ниже цитирую задачу щё раз задача: — ФАЙЛ А. const childSchema = new Schema({ name: String }); ФАЙЛ Б const parentSchema = new Schema({ // Single subdocument child: childSchema, // Array of subdocuments children: [ childSchema ] }); —- Вопрос: Что нужно дописать в каждый файл чтоб childSchema была видна? Чтоб код не выдавал ошибку банально.

None none
я хотел понять, как правильно. В сообщениях это оп...

так а в чем проблема? Просто вместо модели экспортируешь схему module.exports = new Schema({ .. })

None-none Автор вопроса
Vladislav Stepanov
так а в чем проблема? Просто вместо модели экспорт...

Предположу, что в коде, который использует экспорт модели. Есть предположение, что он будет крешится.

None-none Автор вопроса
Vladislav Stepanov
С чего вдруг, не будет

Т.е. я могу делать экспорт схемы и экспорт модели из одного файла и всё будет работать как и раньше?

None-none Автор вопроса
Vladislav Stepanov
screenshot да, это называются named export

тогда модель нужно в дефаулт ставить, а схему именованым? Чтоб не переписывать код... Или подлинковку придётся всё едино менять?

None none
тогда модель нужно в дефаулт ставить, а схему имен...

да, только пример выше неправильный module.exports = mongoose.model() module.exports.mySchema = mySchema

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта