yopp
У вас на каждую коллекцию должно получиться минимум две записи с collection- и index- файлами
Tsikhan
yopp
Но только то, что начинается на collection и index
yopp
Не забудьте про local и admin базы
Tsikhan
yopp
А какая у вас версия монги?
Tsikhan
yopp
Запланируйте обновление до 3.6, а ещё лучше до 4.2 :)
hostmit
А можно из каппед коллекции сделать не каппед? Кроме как пересоздание или копирование базы.
Tsikhan
yopp
hostmit
на тест энве завалился бекенд наш в одном месте, с
error: "Command aggregate failed: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting. Aborting operation. Pass allowDiskUse:true to opt in.."
Сразу после добавления капа... неожиданно
hostmit
редеплойнул, сейчас посмотрим, но вроде именно с этим связано
yopp
hostmit
ну вот сейчас и выясняем. QA давно проходили здесь смоуком,
Андрей
Если мне нужно не _id а imageId, то ничего стремного не т в том что у меня два поля с типами Schema.ObjectId?
ASPIRIN
Всем привет. Я встретился с какой-то очень простой проблемой как мне кажется на первый взгляд, но я не могу найти ниточки в интернете по ее решению. Составили запрос пару дней назад с aggregation lookup и pipeline. На локальной машине работает влет, на продакшен (реплика сет) может отрабатывать часы. т.е. бесполезно ждать ответа. База была сдамплена с прода (благо пока маленькая), и на компьютере все летает на сервере нет. Может кто чего подскажет, или хотя бы направит куда копать. Вот так выглядит запрос https://hastebin.com/sapufavaga.bash
ASPIRIN
Вкрсия на локалке: 4.2.1
Вкрсия на проде: 4.2.3
yopp
yopp
yopp
В первую очередь проверьте что у вас есть индексы по всем полям, по которым вы делаете $eq условия
ASPIRIN
ASPIRIN
пока сюда не начал переписывать не заметил, божечки я вчера 3 часа колупался
yopp
Если вы не делаете сканы, а только полное совпадение то нормальное решение
ASPIRIN
ASPIRIN
пасябы
Araik
подскажите пжл, а как правильно хранить время в базе (в каком формате)? Не дату, а именно время
yopp
Время в каком контексте?
Araik
начало\окончание рабочего дня
yopp
Зависит от того как вы хотите его потом использовать
Araik
нужно для расчетов по поступившим заявкам в которых время в ISODate формате
Araik
я планирую ISODate переводить в Timestamp и програмно делать расчеты
yopp
Т.е. вам в любом случае конвертировать это в isodate?
yopp
Вероятно хранить как часы и минуты в отдельных полях
Araik
да, как вариант, либо в ISODate либо в Timestamp
yopp
Timestamp это внутренний тип для репликации
yopp
Не используйте его
Araik
понял
Araik
спасибо
yopp
(Или минут)
Araik
честно сказать пока немного в замешательстве от задачи, точно не знаю как буду реализовывать
Araik
думаю, в запросах математики не будет, т.е. буду вытаскивать документ, делать расчеты, и обновлять документ
Araik
yopp
Да, например. Хотя начинает казаться что идея с хранением минут лучше. Не будет проблем с сортировкой
Araik
с сортировкой?
Araik
я предполагаю получать дату заявки, смотреть какой день недели, вытаскивать рабочие часы в этот день, делать расчет, думаю в моем случае это не особо важно
Scorpi
Всем привет
Вопрос по поводу MongoDB Atlas
Есть ли там возможность присоединить внешнюю реплику?
т.е. есть кластер на Atlas, но хочется чтобы была к нему была присоединена self-hosted readonly реплика
yopp
Scorpi
yopp
А для какой цели?
Scorpi
есть база которая хостится в Atlas в Австралии, и приложение которое я разрабатываю к ней коннектится.
сильно страдаю из-за пинга, хотел развернуть реплику поближе
yopp
Там начиная с какого-то тарифа можно сделать реплику в другом регионе
yopp
https://docs.atlas.mongodb.com/workload-isolation/#read-only-nodes-for-optimal-local-reads
yopp
Сделайте дамп для разработки
Scorpi
База меняется постоянно, нужно чтобы данные актуальные были
yopp
А сколько всего данных?
Scorpi
в интересующей меня дб наверно около 1гб
yopp
Для разработки можно накостылить псевдосинхронизацию на changeStream
Scorpi
вот да, тоже думал об этом)
yopp
Но дешевле ноду купить
yopp
Вы времени на разработку больше потратите :)
Scorpi
зато интересная задача, ахах
yopp
Бесполезная :)
Scorpi
возможно)
Nikita
гайз, а почему dbOwner не дает создать индекс и что нужно чтобы его создать?:)
Nikita
dbOwner соотв. на бд приложения, не системные
yopp
createIndex входит в dbAdmin, который включается в dbOwner. Проверьте что у вас роли распространяются на ту базу, в которой находится коллекция
yopp
yopp
Там нет initialSync и хранения позиции синхронизации
Scorpi
я знаю, просто нагуглил это, и понял что я не один такой извращенец :D
Nikita
да спс, недоконфигурил спринг, ему оказывается аус БД отдельно задавать еще нужно:) ох
Ilya
день добрый, подскажите пожалуйста, как мне у много записи удалить тольо одно поле
Думал что-то вроде
db.getCollection('sp').remove({_id:ObjectId("5e2ff65d125f9822178d0e5c")}, {age:1})
Удалить мне возраст у ожной записи, но мне выкашивает запись полностью.
Nikita
unset вроде
Ilya
unset вроде
да вроде оно, пойду почитаю
спасибо
Для удаления отдельного ключа используется оператор $unset:
> db.users.update({name : "Tom"}, {$unset: {salary: 1}})
update и в нем unset
Гена
Коллеги
подскажите, о чем говорит эта запись
[WT OplogTruncaterThread: local.oplog.rs] WiredTiger record store oplog truncation finished in