Andrey
а что вы делаете с тем содержимым, которое внутри records собирается?
После сортирвки - выгружаю для записи в файл
Nick
После сортирвки - выгружаю для записи в файл
т.е. вам на самом деле достаточно вместо группировки сделать сортировку и дальше выгружать в файл курсором, помялось имя - начали новый файл
Andrey
Я так понимаю, там проблема в группировке
Andrey
т.е. вам на самом деле достаточно вместо группировки сделать сортировку и дальше выгружать в файл курсором, помялось имя - начали новый файл
С одной стороны возможно да, можно без группировки обойтись, просто тогда придется изменять код, для небольших наборов оставить как есть, для файла больших менять
Andrey
Хотелось максимально на базу переложить это
Алишер Абдуллаев
привет. кто-нибудь сталкивался с подобной ошибкой ? WiredTiger error WiredTiger.wt: read checksum error for 4096B block at offset 81920: block header checksum of 0xf14da6b5 doesn't match expected checksum of 0xa1a4a048"
Алишер Абдуллаев
#ubuntu1804 #mongod4416
Максим
Как в монгу забить выражение ?
Mike
Такой вопрос: MongoDb каким то образом может работать в многопоточном режиме -используя полностью все потоки ядер? И существуют ли какие то сторонние(или любые дополнительные) инструменты по ускорению работы запросов?
Viktar
в логах базы точно видно, что используется allowDiskUse
Приходит. Странно. Может места не хватает под временную коллекцию
Viktar
Там полно места, прям много и быстрое
А попробуйте эту агрегацию в консоле сделать
Sultan
Всем привет
Антон
привет! делаю агрегацию, суммирую данные по месяцу (перевожу дату в месяц) и категории. есть месяца, когда нет категории, как можно добавить значение 0, если не было такого месяца?
Nick
привет! делаю агрегацию, суммирую данные по месяцу (перевожу дату в месяц) и категории. есть месяца, когда нет категории, как можно добавить значение 0, если не было такого месяца?
В 6 версии наконец появилось https://www.mongodb.com/docs/manual/reference/operator/aggregation/densify/#mongodb-pipeline-pipe.-densify До этого надо было извращаться с заполнением в коде пропусков
Davyd
Всем привет! Кто-нибудь сможет помочь с одной проблемой? Я выставил свой вопрос на стэке, но на него до сих пор нет ответа, хотя он довольно простой. Я только начал что-то делать с MongoDB. Мне нужно только вывести данные из базы данных. Всё. Это всё, что мне нужно. Буду дико благодарен каждому, кто сможет помочь.
Davyd
.find({}).toArray() Это всё вернёт промис, внутри которого нужный массив с данными
То есть, мне нужно поменять код следующим образом? router.get('/', (req, res) => { res.render('index', {data: articles.find({}).toArray()}) })
Anonymous
Почти
Anonymous
router.get('/', async(req, res) => { res.render('index', {data: await articles.find({}).toArray()}) })
Davyd
Davyd
Извини, это не сработало.
Davyd
Я видел, как некоторые разрабы достают данные путём обращения к монгуссу, а потом писали что-то вроде db.find('somethin').toArray()
Davyd
Но я смотрел один видеоурок, в котором так не делалось
Davyd
https://www.youtube.com/watch?v=8bE_PBRriyU Здесь человек делает приложение Todo
Davyd
Но я делал блог
Davyd
router.get('/', async(req, res) => { res.render('index', {data: await articles.find({}).toArray()}) })
Было всё-таки интересно что я вообще такое передаю в этом куске кода. Поэтому я передал на страницу вывести целиком articles
Davyd
Оно вернуло [object Object]
Davyd
Вау, у меня что-то получилось с этим куском кода: router.get('/', (req, res) => { const data = await articles.find().exec() res.render('index', {data}) })
Davyd
Но текст ещё пуст
Davyd
Три блока — три записи. Вот это уже ближе похож на исправленный код, но не совсем.
Davyd
Теги заголовков и текста ещё пусты.
Відьма🐝👈
Tony
Зачем, у нас своя трава
Алишер Абдуллаев
у меня остался скопированная директория /var/lib/mongodb как восстановить все в новую бд mongodb ?
GG
у меня остался скопированная директория /var/lib/mongodb как восстановить все в новую бд mongodb ?
Тебе нужно было делать дамп бд с помощью mongodump, и восстанавливать с помощью mongorestore. Не уверен что в твоей папке есть файлы бд для восстановления
Aslan
Подскажите, можно ли как-то сократить этот код? Возможно, не обязательно сохранять промежуточные вычисления в отдельные поля? const eventsAggregation = [ { $addFields: { createdAtHours: { $hour: '$createdAt' } } }, { $addFields: { createdAtMinutes: { $minute: '$createdAt' } } }, { $addFields: { createdAtHoursInMinutes: { $multiply: ['$createdAtHours', MINUTES_IN_HOUR] } } }, { $addFields: { createdAtTotalMinutes: { $add: ['$createdAtHoursInMinutes', '$createdAtMinutes'], }, }, }, { $match: eventsQuery }, ]; const events = await Event.aggregate([ ...eventsAggregation, // another code ]); По итогу нужно только одно поле – createdAtTotalMinutes
Алишер Абдуллаев
видимо это и нужно восстановить, но через консоль пока не нашел правильного ответа
GG
видимо это и нужно восстановить, но через консоль пока не нашел правильного ответа
ну через консоль есть два способа, через mongoimport или через mongorestore, но им нужны определенные файлы которые генерятся командами mongoexport и mongodump, можешь попробовать вызвать их, посмотреть формат выхода, и если у тебя в твоей папке такие же файлы, то востанавливай
Алишер Абдуллаев
ничего не понятно
потому что не знаешь о чем)))
Andrey
потому что не знаешь о чем)))
То есть вопроса - нет?
Viktar
отключили свет, wired tiger сломался. есть директория mongodb, там коллекции на мб
Посмотрите https://www.mongodb.com/docs/manual/tutorial/recover-data-following-unexpected-shutdown/
Алишер Абдуллаев
То есть вопроса - нет?
ну то есть остался только скопированная /var/lib/mongodb - можно ли восстановить файлы внутри в новую бд, который установил недавно ?
Алишер Абдуллаев
вкратце, был бд, потом она перестала запускаться, скопировал монго либ и переустановил монгодб, теперь восстановить надо
Andrey
вот тут^^^
Теперь понял, а что логи монги пишут
Andrey
Со старой и на новой
Алишер Абдуллаев
Алишер Абдуллаев
если не ошибаюсь, проблема крошилась под wired tiger
Andrey
если не ошибаюсь, проблема крошилась под wired tiger
В таких случая, ну логи показать, чтоли.
Владислав
Привет! Подскажите, используется ли монго локально в виде файлика на линуксе? Или лучше что-то другое выбрать?
Mike
если стоит 5-я версия с компасом - можно обновиться до 6-й?
Mike
можно)
как это сделать?
Nick
как это сделать?
https://www.mongodb.com/docs/manual/release-notes/6.0-upgrade-standalone/
Mike
(на вин 10)
Nick
(на вин 10)
по факту там должно быть: остановили сервис монги, установили 6 версию, првоерии что сервис использует новый путь до 6 версии монги, проверить что настройки путей к БД не слетели, запустить сервис и пользоваться
Nick
а с нуля с компасом можно поствить 6-ю версию?
компас это отдельная тулза и в целом не требуется для работы монги, поэтому установка компаса и монги это отдельные мероприятия
Mike
http://joxi.ru/l2ZKbPRClpeYPA так показывает версию монги компас
Mike
http://joxi.ru/4AkL5KoHjvRLdr
Mike
а так через командную строку
Mike
почему это происходит?
Mike
http://joxi.ru/LmGgJPehBqnGJm
Mike
а здесь вообще третье значение
Mike
как это понимать?
Nick
потому что npm показывает версию пакета, который можно использовать в коде и его версия к самой БД отношения по факту не имеет
Nick
читайте доки в нмп по данному пакету и ченджлоги для отслеживания какие версии БД какой версией пакета поддерживаются
Mike
потому что npm показывает версию пакета, который можно использовать в коде и его версия к самой БД отношения по факту не имеет
а через команду npm в этом пакете можно обновиться до 6-й версии - если да то какой командой?
Nick
а через команду npm в этом пакете можно обновиться до 6-й версии - если да то какой командой?
этот вопрос лишен смысла, обновление нпм пакета никак не повлияет на версию установленной БД