Artem
супер большое спасибо
Batyr
Nick
yopp
yopp
Тогда математика будет доступна в самой монге
Nick
Nick
Ох уж эта крипта с их суперчислами)
Batyr
Batyr
Nick
но кажется что это не будет быстрее, чем один раз перестроить все доки и вытащить числовые значения если уместятся в децимал128 или даже в обычные 64бита лонга
dima shumov
Вопрос на засыпку - как mongodump из коллекции размером 1.35гб
сделал bson в 10гб?
Alexandrr
Alexander
Подскажите, после $replaceRoot индексы вообще используются? Имеет ли смысл при такой аггрегации индексировать a и b?
[{
"$match": {
"x": {
"$lte": 100
}
}
}, {
"$sort": {
"x": -1
}
}, {
"$group": {
"_id": {
"y": "$y",
"z": "$z"
},
"r": {
"$first": "$$CURRENT"
}
}
}, {
"$replaceRoot": {
"newRoot": "$r"
}
}, {
"$match": {
"a": true,
"b": "value"
}
}
]
Если кто-то зарегистрирован, можно ответить на StackOverflow.
Air
Сейчас в коллекции 5 млн документов
В документе по 3 поля
Нормально если увеличить до 30 полей в документах? Это не будет влиять на скорость поиска по индекс полю?
Air
Эти данные используются на 2 страницах
В одном нужны всё те же 3 поля
Во втором все 30
Не будет ли от этого страдать скорость прогрузки первой страницы
yopp
Андрей
Aleksandr
Привет, кто-то работал с могоДБ? нужно помощь, не могу разобраться.
Aleksandr
Есть база, работает с кейстон, сейчас нужно подключиться на прямую, и обновить скриптом некоторые данные.
Aleksandr
Не могу подключиться и получить коллекцию.
Viktar
Aleksandr
Aleksandr
не пойму как к коллекции подключиться.
Aleksandr
Не работал с монгой.
Aleksandr
нужно получить коллекции, или модели, не создавать их, а уже те что есть.
Aleksandr
Подскажете, как это правильно сделать, а то даже в документации написано, как создавать, а потом пользоваться.
Viktar
Коллекция создаётся автоматически, если вы в неё что то записываете. Я так понимаю у вас нет проблем с подключением. А вы не знаете как прочитать данные
Aleksandr
да
Viktar
Тогда покажите, что именно у вас не получается.
Aleksandr
Ну я сделал конешин, к базе подключился. Как мне получить коллекию?
Alexandrr
Nick
Alexandrr
Nick
Андрей
Андрей
Оно используется по факту как любая транзакционка по нагрузке
Андрей
Просто специфика сканирований по префиксу ключа и засканить например условные 5 записей в пределах месяца.
Андрей
Ну нафиг для такого хадуп держать? Вот я и педалю съезд во что-то вменяемое.
Андрей
Тем более в монге это и весить будет меньше в ZSTD, будет бегать по XFS хорошо, чтение уедет на стэндбаи, дампы будут быстрее делаться, никаких тебе компактов, которые просаживают производительность, никаких разъездов локалити по регионам из-за отвала нод и т.д. и т.п. всего хадуповского говна, от которого я уже рыгать скоро начну.
Alexandrr
Андрей
Андрей
300+ это по спекам проекта
Андрей
HBase же схемалэс
Batyr
Кто знает в чем ошибка? Чтение эроров в терминале не помогает.
Почему-то ругается на $ и .
Я пытаюсь создать новое поле во всех элементах вложенного массива.
Alexander
Batyr
А что за ошибка?
(Location16410) Invalid $set :: caused by :: FieldPath field names may not start with '$'. Consider using $getField or $setField.
Batyr
Но исправление ничего не даст
(Location40324) Unrecognized pipeline stage name: '$setField'
Alexander
Alexander
У вас имя поля начинается с $. Скорее всего из-за этого $[е]
Alexander
Air
const item = await collection.find({name: new RegExp(name, 'i')}).toArray();
сейчас таким образом делаю поиск по string по 5млн записям
прогрузка результата занимает около 10-13 секунд
индекс name_1 добавил
как можно ускорить?
Nick
Air
Nick
тогда никак
Nick
точнее дальше уход на нормальные поисковые движки. Можно еще извращатсья и реализовывать похожее в монге
Igor
Ребят подскажите можно ли отобрать документы за конкретную дату, дата хранится в ISOdate как я понял, когда отбираю больше\меньше все работает:
"$match": {"createDate": {
"$gte": datetime.datetime(2022, 12, 1),
"$lt": datetime.datetime(2022, 12, 2)
}}
А когда пишу условие eq то не работает
"$match": {"createDate": {
"$eq": datetime.datetime(2022, 12, 1)
}}
Это в питоне.
Igor
Через компасс - { "createDate": {$eq: new Date('2023-01-01')} } - не отбирает не какие записи
Sunrise
Подскажите, пытаюсь в голове набросать структуру бд. цель - реализация чатов.
сабж в организации комнат и хранении сообщений, как себе представляю, будет коллекция Chats , в которой содержатся комнаты чатов, внутри: id комнаты, id участников, сообщения из этой комнаты.
Верный ли подход?
Alexandrr
Alexandrr
Ребят подскажите можно ли отобрать документы за конкретную дату, дата хранится в ISOdate как я понял, когда отбираю больше\меньше все работает:
"$match": {"createDate": {
"$gte": datetime.datetime(2022, 12, 1),
"$lt": datetime.datetime(2022, 12, 2)
}}
А когда пишу условие eq то не работает
"$match": {"createDate": {
"$eq": datetime.datetime(2022, 12, 1)
}}
Это в питоне.
там надо импортировать .utc(), что бы формат даты подходил, почитайте стандарт iso-date
Igor
Alexandrr
Ещё быстрее можно сделать? Или это у меня прогрузка медленная а монго отдает свой максимум
ну тестовый индекс будет за сотые секунды отдавать результат, если строки не слишком длинные, не длиннее 1к символов, потом производительность резко падает, мне так тесты показали.
дело в том, что все, в том числе эластики всякие и полнотекстовый поиск монги используют под капотом жабий lucene.
так что не особо важно, где тестировать полнотекстовый поиск, результаты скорости будут одинаковые, только эластик сильнее интегрирован с люсей
Nick
Nick
Alexandrr