yopp
Sergey️
Sergey️
Щас я вспомню как открывал :D
Sergey️
Serg
так может уменьшить available ? если in use 25 ?
Anonymous
yopp
Sergey️
Anonymous
Добавьте индекс :)
она отдает данные. но также их меняет после авторизации на стороне бека
Nick
Да можно, составной уникальный индекс нужен
Sergey️
Добавьте индекс :)
Добавил индекс, реиндекснул, пересоздал контейнер. Посмотрим как будет себя вести, но со старта сейчас все хорошо
yopp
Да, можно. Если искать потом по ним не надо, то hashed индекс может быть хорошим решеним
yopp
https://docs.mongodb.com/manual/tutorial/manage-users-and-roles/#create-a-user-defined-role
yopp
Первый раз это немного муторно, зато потом будет очень удобно
Aleksandr
А у нас в сетевом уровне у mongo zeromq ?
Nick
Aleksandr
Нет
это работуюший клиент https://github.com/neloe/MongoDB-Cpp/blob/master/connection/mongoclient.h
Nick
Aleksandr
разбараю их протокол по косточкам
yopp
А у нас в сетевом уровне у mongo zeromq ?
Нет. Обычный сокет и request-response протокол. Простецкая структура для сериализации, где немного метаданных и тело запроса/ответа в bson
https://docs.mongodb.com/manual/reference/mongodb-wire-protocol/
Aleksandr
yopp
https://github.com/mongodb/specifications/blob/master/source/message/OP_MSG.rst
yopp
Aleksandr
оригинальный ansi-с driver блокирующий
yopp
Сам протокол то все равно req-resp
yopp
Aleksandr
Это все костыли нужен асинхроный в вод вывод
yopp
Да в этом особого смысла нет. Сам протокол блокирующий. Если хочется асинхронщины то по классике: connection pool и туда асинхронный интерфейс
Aleksandr
Нет протокол там асинхроный
yopp
Anonymous
Всем привет. подскажите плиз вот mongod позволяет подключиться к себе без авторизации. А можно заставить его подключаться только с авторизации
Yʉri 🇺🇦
Anonymous
Можно
а как не подскажешь
Anonymous
Aleksandr
Эээ?
Там внутри есть очередь на стороне mongod
yopp
Aleksandr
yopp
Ты не сможешь в сокет отправить ещё один запрос, пока не получил ответ на предыдущий
Aleksandr
Вроде все есть для асинхроный работы
Aleksandr
Страно пойду копать
yopp
Afair, там нет мультиплексирования и одно соединение, один запрос
yopp
Как в http/1.х
yopp
Вроде все есть для асинхроный работы
Т.е все запросы из соединений попадают в общие две очереди на чтение и на запись и оттуда выгребаются воркерами. Но сами соединения не позволяют отправить несколько команда подряд и потом по мере поступления получать ответы
yopp
Может быть там конечно что-то изменилось с появлением сессий
Araik
Подскажите пжл, что-то не очень понимаю, как мне посчитать не только элементы status у документа, но и priority ?
Araik
yopp
Сложите обе группы в $faucet
https://docs.mongodb.com/manual/reference/operator/aggregation/facet/
yopp
$match: {...}
$faucet: {s: {$group: ...}, p: {$group: ...}}
Araik
почему-то целиком документ возвращает, без полей count
Araik
yopp
А какой запрос генерируется драйвером?
Araik
судя по всему, facet игнорируется
Araik
Araik
честно сказать, не уверен, что правильно посмотрел, я сделал var_dump курсора и судя по всему это оптравляется на сервер, при этом [query] пустое
yopp
yopp
yopp
Возможно вам нужно скобочку после ключа убрать
yopp
Там в итоге должен быть массив ассоциативных массивов и значением $faucet тоже должен быть ассоциативный массив
Araik
а вы не знаете случайно, где логи в Mongo Atlas хранятся?
Araik
не знаю как посмотреть какой запрос генерируется
Araik
но по поводу скобки, тоже обратил внимание, сейчас поправил, но судя по всему что-то не так генерируется, потому как ничего не возвращает даже
Araik
yopp
А какая команда получается на выходе?
yopp
Ваш драйвер не умеет выводить запросы в консоль?
yopp
Не уверен что в атласе можно включить профайлер на бесплатном тарифе :(
Araik
Araik
а если у некоторых документов, поле имеет значение null, можно с помощью $avg узнать среднее значение?
Araik
неправильная постановка задачи была))
yopp
$avg ignores non-numeric values, including missing values.
Araik
сделал условие, чтобы в выборке были без null
Araik
Anonymous
вопрос можно задать по mongoose?