ZaviR
Александр
Народ, почему vs code не подсказывает методы mongoose для импортированной модели?
Александр
Если в том же файле писать то подсказывает
Ростислав ✚
а проблема в чем?
При нужном индексе запрос идет 3м а при другом 8м, в этом проблема
Ростислав ✚
В 2,5 раза где-то
Nick
В 2,5 раза где-то
ну а на что это влияет? у вас sla на сервисе 5м и 3 ок а 8 не ок?
Ростислав ✚
ну а на что это влияет? у вас sla на сервисе 5м и 3 ок а 8 не ок?
Ну так всёравно чем быстрее тем лучше, это не совсем для внетреннего пользования, клиенту проще подождать 3м а не 8, и это же не на 10% оптимизация, а на 250%, считаю вполне оправданным, тем более всё что нужно это заставить работать правильный индекс
Nick
Ну так всёравно чем быстрее тем лучше, это не совсем для внетреннего пользования, клиенту проще подождать 3м а не 8, и это же не на 10% оптимизация, а на 250%, считаю вполне оправданным, тем более всё что нужно это заставить работать правильный индекс
клиенту проще подождать столько сколько указано в sla на сервис. Если этого нет, то надо бы начать именно с этого и сформировать нефункциональные требования. После этого решаете является ли проблемой данное время ответа. Если является, то рекомендую начать с удаления мешающих индексов
ℨ ∀ Π ᖘ Ξ ₸ 🔥🖤
Привет. Хорошая ли практика хранить CSRF токен на клиентском куки? или например получать его по апи при загрузке приложения и добавлять в default.headers['csrf....']
Nick
Вот так это выглядит
значит планировщик прост опосчитал что проще профильтровать уже упорядоченный список, т.к "sport": 1, leagueGroup": 1, isFinished": 1, фактически все указывает на одну уникальную группу в индексе sport_1_leagueGroup_1_isFinished_1_startTime_-1 чем заниматься сортировкой отдельных кусков, получаемых в другом индексе
Ростислав ✚
Doни
Всем привет
Doни
Если я в Postman е запущу он отдельно создаст users
Doни
Artem
Привет, подскажите пж, как сюда регулярку пихнуть, гуглил - не помогло решение, с добавлением $regex {}. регулярка сделана через new RegExp. при обычном отборе find отрабатывает четко, а в агрегации - выводит только полные совпадения, а надо как в find, чтоб полноценно регулярка отрабатывала, как регулярка, а не просто строка) если что подскажете дельное - буду благодарен, если еще и обьясните - буду счастлив !
Сотрудник 236
если агрегейт, то же самое
Nick
хз как в монгусе, в mongosh/compass это делается так {"data.field": {$regex: "regoolyarka toot"}}
именно так у него и сработало в find, в агрегации это не работает
Сотрудник 236
Сотрудник 236
Не надо regexp пихать в запрос, кидай строку, в монге своя обработка регулярок
Сотрудник 236
Starting in version 6.1, MongoDB uses the PCRE2 (Perl Compatible Regular Expressions) library to implement regular expression pattern matching.
Kvhqm
Т.е. если я правильно понял, если будет неполное совпадение, монга все равно найдёт док в котором это неполное совпадение?
ZaviR
ребята, а из-за чего может быть такая ошибка?
Artem
Не надо regexp пихать в запрос, кидай строку, в монге своя обработка регулярок
ты имеешь в виду не прокидывать конструктор регулярки а тупо пихнуть в аргерацию шаблон регулярки ?
Сотрудник 236
Да
Artem
Звучит как простое решение кстати) вот пока хз только сработает ли, потому что пока все мои попытки все еще отбирают только совпадения по первой строке-мэтчу
Нуриддин
ребята, а из-за чего может быть такая ошибка?
Наверное ты подключил аунтификацию и ssl но в линк не того не другого не дал
Vladimir
ты меня пугаешь, я же тебе конкретный пример написал, а ты от себя что-то добавил, поэтому и не работает
Vladimir
'a.key' или title замени на поле по которому ищешь
Artem
{ $match : { 'a.key' : { $regex : '^startsWithStr' }}} { $match : { title: { $regex: :#{#filter.q}, $options: 'i' }}
реально чтоль дело в том, что я юзал конструктор регулярок, а надо юзать саму регулярку ? в чем логика
Vladimir
у тебя тут поле не задано по которому ты хочешь искать
Vladimir
либо значение, которое ищешь
Artem
параметр Инпут, вроде как по доке и есть поле по которому ищу
Vladimir
ну так возьми мой пример и замени на свое поле
Vladimir
только значение не забудь подставить, которое ищешь
Artem
понял, попробую а там буду разбираться что к чему
Vladimir
понял, попробую а там буду разбираться что к чему
в 7 версии есть вариант, который ты описывал, но тогда вопрос почему не взять из доки пример и проверить у себя? https://www.mongodb.com/docs/manual/reference/operator/aggregation/regexMatch/
Artem
У меня не 7)
Sergey spbsite
кто использует веб версию для монги? эта стоящая штука? или есть что получше?
Sergey spbsite
compass
на сайте?
Sergey spbsite
я про веб именно)
Ivan
я про веб именно)
а зачем такие извращения?
Sergey spbsite
а зачем такие извращения?
вроде удобненько)
Sergey spbsite
для простых задач подойдет, а дальше уже компасс
Danila
Привет ! Подскажите, почему данных запрос не использует индекс: {"$and":[{"<index_field_name>":{"$not":{"$regex":"<some_regex_here>"}}}]}
Danila
explain выводит следующую статистику: Documents Returned: 5938 Index Keys Examined: 0 Documents Examined: 123901 Actual Query Execution Time (ms): 43503 Sorted in Memory: no No index available for this query.
Danila
Даже если упростить запрос - {"$and":[{"<index_field_name>":{"$ne":"<some_value>"}}]}
Danila
Documents Returned: 5935 Index Keys Examined: 0 Documents Examined: 123911 Actual Query Execution Time (ms): 32801 Sorted in Memory: no No index available for this query.
Nick
Documents Returned: 5935 Index Keys Examined: 0 Documents Examined: 123911 Actual Query Execution Time (ms): 32801 Sorted in Memory: no No index available for this query.
Потому что там $not и ne, а они очень редко когда получают профит от индексов
Danila
А с $in индекс работать будет ?
Nick
А с $in индекс работать будет ?
как всегда ответ - "зависит от", но как правило используется
Danil
ребят, логи с 500 ошибками можно писать в отдельную коллекцию монго?
Александр
Помогите, при findbyid получаю какой то объект query. Что это?
Nick
Помогите, при findbyid получаю какой то объект query. Что это?
как и в доке, все сходится. А что ожидается?
Александр
как и в доке, все сходится. А что ожидается?
Ну объект который с искомым _id
Александр
await или exec()
Спасибо
Danil
ребят, не знаете как называется библиотека в node js, которая контролирует кол-во запросов с клиента?
Alexandr
ребят, не знаете как называется библиотека в node js, которая контролирует кол-во запросов с клиента?
https://blog.logrocket.com/rate-limiting-node-js/ Далее гуглёж по словам троттлинг, рейт лимит и тд
Artem
{ $match : { 'a.key' : { $regex : '^startsWithStr' }}} { $match : { title: { $regex: :#{#filter.q}, $options: 'i' }}
аналогично, возвращает в мэтч только все документы с где значение реквизита равно ПЕРВОМУ совпавшему значению с регуляркой, а надо по ВСЕМ совпадениям чтоб вернуло из блока мэтча)
Vladimir
В агрегациях нормально отрабатывают регекспы