Andrey K.
а монговский GridFS это разве не оно ?
Andrey K.
ᅠIgor
Vitya
Всем привет. Подскажите курс по монго какой посмотреть.
Более-менее знаю sql, с nosql не работал никогда, нужно по работе
Спасибо !!
Shuliar
Nikola
Привет всем. Подскажите пожалуйста, если у меня есть массив users в каждом документе таблицы. У каждого юзера есть допустим customId. Как мне конвертнуть customId в строку?
Vitya
а есть что толковое на примете?
Shuliar
Я учил. Мне норм было..
Если есть что-то лучше, то дайте ссылку.
Андрей
Что такое изучение монги? Вы хоть указывайте - вам код писать или администрировать. Это 2 противоположные науки.
Андрей
Для DBA начать с оф. тренингов самого вендора - вполне себе отлично будет. Дальше всё равно необходимо ориентироваться в линухе на уровне администратора и уметь читать тех. документацию на инглише.
Nick
Nikola
если я сделаю там { $set: { 'users.$[].customId': '123' } } то customId будет заменен просто на строку 123, а как мне именно обратиться к элементу я хз
Nick
Nikola
строку из кода?
Nikola
имеете в виду, что код написать, который будет обращаться к бд и апдейтить нужные свойства? просто я думал что можно как-то средствами бд и запросами такое провернуть
Nick
Nikola
нужно конвертировать значение customId в строку
Nikola
проапдейтить его
Nick
Nikola
есть массив users = [{ customId: 123 }, { customId: 124 }]
нужно сделать чтоб стало users = [{ customId: '123' }, { customId: '124' }]
Nick
@radonichn берете апдейт с агрегацией, в ней с помощью $map уже меняете объекты https://www.mongodb.com/docs/manual/reference/operator/aggregation/map/
Nikola
т.е. мне надо выгрузить запросы с аггрегации и потом заменить этими данными те, что сейчас в бд лежат?
Nikola
или как это правильнее сделать?
Nick
Alexander
Для начинающих был классный курс M001, который зачем-то заменили на гораздо менее удобоваримый. Но более продвинутые курсы все ещё нормальные там
Alexander
Он больше недоступен. Наверняка где-то ещё валяется, но где точно не знаю.
Курс звался M001 MongoDB Basics with Yulia Genkina
Alexander
К сожалению, Юля ушла из компании в другую, а качество курса сильно зависит от инструктора, который его разрабатывает
Alexander
Из хороших курсов доступны
https://learn.mongodb.com/learn/course/m103-basic-cluster-administration/lesson-0-introduction-setup/learn?client=customer
Alexander
https://learn.mongodb.com/learn/course/m121-the-mongodb-aggregation-framework
Alexander
https://learn.mongodb.com/learn/course/m320-mongodb-data-modeling
Alexander
https://learn.mongodb.com/courses/m100-mongodb-for-sql-pros
Alexander
https://learn.mongodb.com/learn/course/m201-mongodb-performance
🕊Emocean🕊
Всех приветствую, может кто помочь с агрегированием
Alexandrr
🕊Emocean🕊
Nick
Vitya
Привет. Подскажите как обновить содержимое колекции в компасе, если ввел данные через консоль?
Кнопка refresh db возле баз даных слева не помогает
🕊Emocean🕊
Может кто помочь, с квери? никак не пойму как правильно группировать в монго
🕊Emocean🕊
приходит такой результат
🕊Emocean🕊
🕊Emocean🕊
а нужен вот такой:
{"dataset": [5906586, 5515874, 5889803, 6092634], "labels": ["2022-09-01T00:00:00", "2022-10-01T00:00:00", "2022-11-01T00:00:00", "2022-12-01T00:00:00"]}
Hunter
Можно слушать изменения в одной коллекции с помощью Change Streams и писать в другую, когда в первой что-то поменялось.
https://www.mongodb.com/docs/manual/changeStreams/
якщо комусь цікааво, то так вийшло
export const returnRandomTraining = async (): Promise<TrainingType[]> => {
const result = await TrainingSchema.aggregate([{ $sample: { size: 1 } }]);
return await TrainingSchema.populate(result, [
{ path: 'warmUp.trainingSessions.exercise', model: ExerciseSchema },
{ path: 'mainWork.trainingSessions.exercise', model: ExerciseSchema }
]);
}
а в моделькі я прописав так поле exercise: { type: Schema.Types.ObjectId, ref: 'Exercises', required: true },
Нарахунок продуктивності думаю не дуже, з sql було б краще
Yury
якщо комусь цікааво, то так вийшло
export const returnRandomTraining = async (): Promise<TrainingType[]> => {
const result = await TrainingSchema.aggregate([{ $sample: { size: 1 } }]);
return await TrainingSchema.populate(result, [
{ path: 'warmUp.trainingSessions.exercise', model: ExerciseSchema },
{ path: 'mainWork.trainingSessions.exercise', model: ExerciseSchema }
]);
}
а в моделькі я прописав так поле exercise: { type: Schema.Types.ObjectId, ref: 'Exercises', required: true },
Нарахунок продуктивності думаю не дуже, з sql було б краще
Жаль, без переводчика не понять)
Hunter
🅻
С чего начать изучение монги и для каких сервисов её использование максимальный профит доставляет?
Сейчас имею знания SQL, сложно ли будет привыкать к MDB?
(Знаю банальный вопрос, но просто хочу сменить профиль работы, в печёнках уже SQL)
Ivan
Ivan
🅻
Я DBA'шник уже где-то года два и юзаю лишь MSSQL, изредка PgSQL
Ivan
🅻
У меня упор просто был в хранимки, бэкап, архитектуру и безопасность, а не аналитику
Ян 🌙
Всем привет, скачал новую монгоДБ, занес туда данные со старой, и начало работать не корректно, а именно данные с задержкой достаются, раньше все норм было, а сейчас достаю что-то - сперва пустое, а через секунд 10 только появляется..
Как можно исправить?
Damir
Ян 🌙
Ян 🌙
Ян 🌙
у меня использовался _id может в этом причина? потому что, там, где я вытаскиваю данные без _id.. работает нормально, а где по _id - вытаскиваются с задержкой
Damir
Давай в ЛС
Ян 🌙
Я короче понял, у меня данные импортируются не правильно, когда делал экспорт, делал в тип csv, а там были массивы, и при импорте они стали строчным типом.. Как можно это решить? преобразовать или еще что?
Ян 🌙
mongoimport --db=krankykranes --type=csv --headerline --useArrayIndexFields --file=tags.csv
Я нашел вот это, ток не понимаю куда вводить нужно)
Ян 🌙
Alexander
NO WAR!
Всем привет.
Есть коллекция с данными для определенной сущности на определенный момент времени. Данные хранятся в виде отдельных документов. В каждом документе данных есть время добавления документа в коллекцию. Разумеется в коллекции в каждом документе обозначена сущность и поэтому легко можно выбрать данные по сущности.
Вопрос.
Если я при помощи find найду все документы по сущности, в полученном массиве гарантируется порядок элементов в порядке их добавления в коллекцию?
Как в принципе правильно организовать хранение таких данных в Mongo? Хранить в отдельных документах или организовать хранение документов в массивах, где порядок будет гарантирован?
Ivan
Ivan
NO WAR!
нет
Понял. Сортировать при выборке.
NO WAR!
выбирай с сортировкой
Но вопрос в том, что мне не нужно их сортировать, если я получу их в том же порядке, в котором они были добавлены в коллекцию. Я собственно и спрашиваю потому, что хочу сэкономить на сортировке. И мой вопрос сводится к тому, нужны ли дополнительные усилия (организация в массив) чтобы гарантировать сохранение того порядка в котором они были добавлены.
Надеюсь, что кто-то знающий скажет: "Порядок точно сохранится и не нужно тратить время на организацию массива". 😀
Alexander
Но вопрос в том, что мне не нужно их сортировать, если я получу их в том же порядке, в котором они были добавлены в коллекцию. Я собственно и спрашиваю потому, что хочу сэкономить на сортировке. И мой вопрос сводится к тому, нужны ли дополнительные усилия (организация в массив) чтобы гарантировать сохранение того порядка в котором они были добавлены.
Надеюсь, что кто-то знающий скажет: "Порядок точно сохранится и не нужно тратить время на организацию массива". 😀
Никаких гарантий по порядку нет, если будет использован индекс, то документы скорее всего вернутся в порядке ключей индекса. И это тоже без гарантии, например, порядок документов, который вернёт шардированная коллекция нельзя предсказать. Кто знает в каком порядке шарды выполнят запрос.
NO WAR!
a
Возможно ли вообще в монго 6.0 поменять оунера директории dbPath на другого юзера отличный от root. Я создал нового юзера. Сделал его оунером. А на остальных закрыл доступ на запись. И теперь монго не стартовывает через systemctl