yopp
Впрочем можно просто zlib вместо snappy врубить
yopp
И хранить в отдельной коллекции
Владимир
на самом деле идея классная, но факт остается фактом при сыром хранении в файлах место меньше кушается, но не контралируемо(
yopp
Можно даже только в отдельной коллекции наверное zlib включить через ключи настройки WT
Владимир
возможно мне стоит пересмотреть структуру документа и порезать ключи
Владимир
или сделать для состояний коллекции
Владимир
а сырые ответы правда хранить в gzip в отдельной
yopp
Попробуйте настроить compression engine при создании коллекции
Владимир
спасибо вам большое))
Владимир
буду дальше думать как все это прикрутить)
yopp
Если можно отдельно настроить, то не надо gzip даже делать
Владимир
ото в файликах дампы json хранить это прям совсем хардкор
yopp
Уж лудтше gridfs :)
Владимир
обязательно почитаю что за зверь )) ото думал с наскоку на монгу перелезть и тут началось)
yopp
Ну с таким кейсом везде более-менее одинаково больно будет
yopp
Ну тащемто можно вроде как: db.createCollection( "foozlib", { storageEngine: { wiredTiger: { configString: 'block_compressor=zlib' }}})
Mykola
Вызываю в другом классе `DeviceLatestBlock.saveLatestBlock` выдает ошибку `Property ‘saveLatestBlock’ does not exists on type PaginateModel<DeviceLatestBlockModel>` ?
Mykola
Что делаю не так ?.
yopp
охренеть. это что за язык вообще?
Mykola
TypeScript
yopp
жуть какая
Mykola
Просто типизация добавленна
yopp
там есть возможность цепочку наследования отдебажить?
Mykola
Я не знаю как это сдалать
Nick
Nick
там вроде как methods должны вызыватсья у объектов
Nick
а statics можно у модели
Mykola
Нашел ответ https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mongoose#static-methods
Дмитрий
чат, а что за папка journal в папке с базой данных монги ? там не логи ?
Oleg
Как для такого запроса сделать правильные индексы?
eshch
по этим трем полям сделай и все
Oleg
eshch
ну да
Viktor
один составной не будет работать
Oleg
Viktor
Он не будет покрывать запрос правильно
Viktor
По сути он будет использовать только bid_1, а хвост проигнорит и выбросит
Viktor
Только RAM прожигаете
Viktor
Viktor
Расскажите кейс свой
Oleg
Зависит от сценария использования
Постоянно отправляются такие запросы в базу для вывода информации юзеру
Но есть и другие к этой коллекции, но чаще всего такие
Oleg
Viktor
Sergey
Ну он делает фуллскан скорее всего
Viktor
Viktor
данные можно попортить
Sergey
Вообще, explain в студию
Oleg
Sergey
Viktor
Смотрите, индекс, который вылечит сразу все здесь построить нельзя. Но можно поменять схему, а потом сделать хороший индекс. Например, добавить в admins еще и owner'а, а затем построить multikey-index над bid, name и admins.id
Nick
а что мешает переписать запрос из вида
A & (B || C) в (A&B)||(A&&C) и покрыть инедксами два этих случая
Viktor
тогда поиск и сортировка будут по индексу работать
Viktor
Nick
хотя может и не заработать
Nick
и что?
Viktor
и что?
На бекенде потом клеить?
eshch
Nick
ну сделать два индекса А-B и А-С
eshch
Nick
сортировка то с чего сломается
Viktor
Viktor
Монга будет один юзать в итоге
Oleg
Но еще есть запросы без bid
Nick
выбираешь индекс с большей селективностью, его строишь и радуешься
Viktor
Nick
хотя наверн да
Oleg
Viktor
40 на 60 (with bid) где-то
Тогда меняете схему (добавляете овнера к админам в коллекцию) и делаете индекс вида {admins.id: 1, name: 1, bid: 1}
Viktor
Тогда покроете оба кейса с bid и без
Viktor
Но сразу скажу, что такой индекс будет большим
Oleg
Viktor
Oleg
А если сделать подругому
{
name: "asd",
access: [123123123, 123, 432],
admins: [{...}, {...}],
bid: 123321,
owner_id: 123123123
}
UPD.
Viktor