germon
Пытаюсь создать вложенные данные: db.users.insert({“name”:”Ivan”, “age”: 24, access{“level”: 1, “dept”: “TSG”}) Выдаёт троеточие, куда можно вписывать команды
germon
Что это значит?)
germon
Сама запись не ищется findом
Alexander
Двоеточие потерялось.
None
// MONGOOSE ребят, что-то никак не пойму... Если у меня в одном файле описаны родительская и дочерняя схема то пример работает: — const childSchema = new Schema({ name: String }); const parentSchema = new Schema({ // Single subdocument child: childSchema, // Array of subdocuments children: [ childSchema ] }); —- Но как быть если у меня дочерняя схема применяется самостоятельно и там есть уже module.exports = mongoose.model ? Как подтянуть ссылку на схему? Нужен аналог children: [ childSchema ], только для разных файлов.
None
ничего не понял
Попробую перефразировать. Есть схема А и схема Б. Они описаны в РАЗНЫХ ФАЙЛАХ. В схеме Б должен быть массив объектов из схемы А. Вот так: // массив объектов из схемы А children: [ А ] Вопрос - как это ПРАВИЛЬНО реализовать?
Roman
популейт
None
популейт
вроде бы это про другое совсем. Мне в схеме Б нужно объявить массив элементов А. П.с. а после ещё туда пушить.
None
В то время, как популейт лишь коннектит во время выбирающего запроса.
None
Или я не прав?
Roman
ты делай или фантазируй велики
None
ты делай или фантазируй велики
я и стараюсь делать. А тут помощи советом ищу.
Roman
я и стараюсь делать. А тут помощи советом ищу.
все что ты написал какая то чушь
None
Ещё раз задача: — ФАЙЛ А. const childSchema = new Schema({ name: String }); ФАЙЛ Б const parentSchema = new Schema({ // Single subdocument child: childSchema, // Array of subdocuments children: [ childSchema ] }); —- Вопрос: Что нужно дописать в каждый файл чтоб childSchema была видна? Чтоб код не выдавал ошибку банально.
None
const childSchema = require("./childSchema")
да, но тогда children: [ childSchema ] не работает.
Алексей
да, но тогда children: [ childSchema ] не работает.
почему? если ты в childSchema экспортируешь модель - всё должно работать
None
почему? если ты в childSchema экспортируешь модель - всё должно работать
Файл А. module.exports = mongoose.model( 'diceRolls', diceRollSchema ); Файл Б const DiceRoll = require( './DiceRoll' ); diceRolls: [ DiceRoll ],
None
не хочется лепить миксед, чтоб после меньше возиться, но может следует...
Алексей
Файл А. module.exports = mongoose.model( 'diceRolls', diceRollSchema ); Файл Б const DiceRoll = require( './DiceRoll' ); diceRolls: [ DiceRoll ],
и? я не могу понять в чём проблема, у меня так схемы описаны - в разных файлах
Алексей
Ругается на эту строку diceRolls: [ DiceRoll ],
как ругается? без мата хоть?
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
а если написать 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
это странно, у меня всё ок может какая-то старая версия монгуса? ну или выдели код и выложи куда-нибудь, чтобы более ясная картина была
Сейчас придумаю как обойти... не хотелось костылей в этом проекте... но видно "костыли и велосипеды"(Ц)... П.с. вроде бы не старая. "mongoose": "^5.3.4", П.п.с. благодарю за старания помочь. Приятно, что тут не только молодые с собственным мнением и стремлением тыкать всем!
Семён
Привет. Подскажите как отсортировать поиск по базе. Тепо если переменная 1: true. И убирал из этого поиска если token = 0
Roman
очевидно что никто не умеет гадать по обрывкам
None
очевидно что никто не умеет гадать по обрывкам
1) очевидно, что мне не 20 лет и я знаю, что можно показывать код... 2) очевидно, что если бы можно было показать оригинал кода - я бы это уже сделал. 3) "очевидно что никто не умеет гадать по обрывкам" - вообще-то это ложное утверждение. Тут есть опытные понимающие о чём речь. Вот коллега ещё раз это доказал. Хотя это не вполне обрывки были, но не суть.
Roman
что мешаешь показать код?
Vladislav
Либо ref, либо другая схема
Sergey
как проапдейтить поле значением из поля во вложенном объекте? гуглить не получается, упорно выдает мне how to update nested field, а надо как раз наоборот
None
Ты не можешь модель засунуть в схему
Спасибо. Это я уже понял. Пока сделал иначе. но как правильно так и не понял ещё. пока пользуюсь вот так, не знаю насколько это костыли... // diceRolls: [ DiceRoll ], diceRolls: [{ type: Schema.ObjectId, ref: 'diceRolls', }],
Vladislav
Спасибо. Это я уже понял. Пока сделал иначе. но как правильно так и не понял ещё. пока пользуюсь вот так, не знаю насколько это костыли... // diceRolls: [ DiceRoll ], diceRolls: [{ type: Schema.ObjectId, ref: 'diceRolls', }],
Если бы ты понял, ты бы знал что ты сделал связь Но можно ее и не делать а указывать СХЕМУ, а не модель другой сущности https://mongoosejs.com/docs/subdocs.html
None
Если бы ты понял, ты бы знал что ты сделал связь Но можно ее и не делать а указывать СХЕМУ, а не модель другой сущности https://mongoosejs.com/docs/subdocs.html
Ох уж эти молодые... выводы вперёд всего... 1) на скрине не мой код, но код из примера. 2) я понимаю, что модуль не получается, а как правильно - не понимаю. П.с. но педагогический талант стоит развивать. 😉
None
ну уж извините, какой смысл тогда было кидать код, если у вас по другому
я хотел понять, как правильно. В сообщениях это описал. Но для полной ясности: 1) в примерах и в доке идёт массив "схем", но при этом схемы описаны в одном файле (!). 2) у меня ситуация, где я должен дополнять ф-ционал уже имеющегося проекта, т.е. схемы уже используются и подвязаны везде. 3) вообще всё в один файл - несколько не целесообразно, тем паче, что это две разные ( отдельные ) сущности. 4) т.о. мне нужно было понять, как импортировать схему в другой файл - вопрос был об этом изначально. Т.е. " что дописать в каждый файл. чтоб работало правильно. Ниже цитирую задачу щё раз задача: — ФАЙЛ А. const childSchema = new Schema({ name: String }); ФАЙЛ Б const parentSchema = new Schema({ // Single subdocument child: childSchema, // Array of subdocuments children: [ childSchema ] }); —- Вопрос: Что нужно дописать в каждый файл чтоб childSchema была видна? Чтоб код не выдавал ошибку банально.
Vladislav
я хотел понять, как правильно. В сообщениях это описал. Но для полной ясности: 1) в примерах и в доке идёт массив "схем", но при этом схемы описаны в одном файле (!). 2) у меня ситуация, где я должен дополнять ф-ционал уже имеющегося проекта, т.е. схемы уже используются и подвязаны везде. 3) вообще всё в один файл - несколько не целесообразно, тем паче, что это две разные ( отдельные ) сущности. 4) т.о. мне нужно было понять, как импортировать схему в другой файл - вопрос был об этом изначально. Т.е. " что дописать в каждый файл. чтоб работало правильно. Ниже цитирую задачу щё раз задача: — ФАЙЛ А. const childSchema = new Schema({ name: String }); ФАЙЛ Б const parentSchema = new Schema({ // Single subdocument child: childSchema, // Array of subdocuments children: [ childSchema ] }); —- Вопрос: Что нужно дописать в каждый файл чтоб childSchema была видна? Чтоб код не выдавал ошибку банально.
так а в чем проблема? Просто вместо модели экспортируешь схему module.exports = new Schema({ .. })
None
так а в чем проблема? Просто вместо модели экспортируешь схему module.exports = new Schema({ .. })
Предположу, что в коде, который использует экспорт модели. Есть предположение, что он будет крешится.
None
С чего вдруг, не будет
Т.е. я могу делать экспорт схемы и экспорт модели из одного файла и всё будет работать как и раньше?
None
const A = new Schema( {} ); module.exports = mongoose.model( 'turnStates', turnStateSchema ); module.exports = A;
None
да, это называются named export
тогда модель нужно в дефаулт ставить, а схему именованым? Чтоб не переписывать код... Или подлинковку придётся всё едино менять?
None
в целом - похоже на правду. Но импорт чуть усложнился. require( './File' ).nameSchema;
None
хотя - нет, ругается на что-то... В общем - нужно ещё вникать, пока оставить придётся предыдущий вариант, а на отдельном проекте опробую. Благодарю ещё раз.
Vladislav
None
Я тебе уже дал куда копать - commonjs named exports, дальше либо сам либо в чат ноды. Это не касается монги никак
Принято. Даже не думал навязываться, просто дал обратную связь, поблагодарил и пошёл работать дальше.
Emad
Всем привет, кто может подсказать почему данная агрегация не возвращает объекты у которых массив поле likes пустой и не имеет пока ни одного лайка
Emad
Emad
так выглядит документ
Emad
если вот так, то оно теперь всем у кого ноль дает 1 лайк
Shakh
Добрый день ребята! "message": "Can't save() the same doc multiple times in parallel. Document: 6080680f5debd22240667936" как решается?
Shakh
В цикле перестать вызывать save
но я в цикле не вызывал)
Askhat
Тогда отгадать не сможем 🤷
Shakh
Shakh
Askhat
https://mongoosejs.com/docs/ прочти Getting Started. Выполни сначала как в примерах, а потом изменяй постепенно код под async/await. Так проще будет понять
Vladislav
сразу 2 сохранения, а учитывая что у первого нет await, скорее всего из-за этого и ошибка
Vladislav
просто user.save()
Shakh
нет бро) я нашёл ошибку) j оказывается db.connect был в комменте))
MDWIT
Монга всегда такая прожорливая? Я всего лишь бекап восстановил, там данных на 20 гигабайт ~
Ilya