Dmytro
Народ, подскажите плиз, как добавить проверку на существование элемента и добавление его в массив? $addFields: { pictureUrl: [ { $concat: ["some-url", '$picture1'], }, { $concat: ["some-url", '$picture2'], } ], }
Пол
Здарово как подключиться к базе с компа в компассе.. Что настроить на серваке или прописать. Подскажите плз
Андрей
разрешить удаленное подключение
Simon
Подскажите, пожалуйста, как сделать выборку с N записи по M запись?
Simon
Подскажите оператор пожалуйста
Simon
Недавно пересел, найти не могу
Simon
Через SQL делается LIMIT OFFSET
Simon
А в монге как это юзается?
Андрей
Подскажите оператор пожалуйста
https://metanit.com/nosql/mongodb/2.8.php
Simon
ааа, спасибо большое!
Simon
То что надо
Semeon
Уважаемый чат, а подскажите пожалуйста, в чём может быть дело? В «песочнице» код работает: агрегирует документы по полю и фильтрует дубли. А в JS — нет. Версия MongoDB 4.4.10 (Atlas). Пример запроса: https://mongoplayground.net/p/4qIKUBpazXp
Aryn
Давайте кинем запрос в ТП монги, чтобы добавили новых версий...
Alexey
Давайте кинем запрос в ТП монги, чтобы добавили новых версий...
Если это главный репозиторий Ubuntu, то не добавят, потому что лицензия более новой Монги (SSPL) — не open source
Alexey
Давайте посмотрим что думают люди, которые придумали термин «open source» и продвигают его: https://opensource.org/node/1099
Alexey
Доступ к исходному коду – только одно из необходимых условий. Есть много других source available лицензий.
Alexey
Они не фанатики, вы путаете со Free Software Foundation
Alexey
Проблема в том, что ваше личное определение не является общепринятым
Alexey
В частности, оно никак не влияет на то, что будет в репо Убунты
Alexey
Я правильно понимаю, что фанатики – это те, кто с вашим определением не согласен?
Alexey
Это удобная позиция; я, пожалуй, вас с ней и оставлю 🙂
Alexey
К слову про MongoDB и open source: https://www.mangodb.io
yopp
> встраивает SSPL продукт в их проекты это неверное
yopp
SSPL касается только ситуаций когда вы предоставляете mongo as a service и требует от вас раскрытия исходного кода всей инфраструктуры
yopp
Это не касается других вариантов использования
Andry
db.getCollection('Contact').find({"isClient" : true}, {"_id" : 1}).count(true)
Andry
Подскажите пожалуйсте - у меня примерно 18 лямов записей
Andry
с фильтром метод count тормозит
Andry
без него отвечает номально за 25ms
Andry
что делать? на фильровое поле есть индекс
Anonymous
Коллеги всем привет! посмотрел в коде, у нас нет нигде упоминание про majority просто insert и все
Andry
что то можете предложить для решения этой проблемы?
Andry
нет это не помогает
Andry
передав параметр query так же начинает тормозить
Andry
db.getCollection('Contact').countDocuments({"isClient" : true}, {"_id" : 1})
Cloud
а поч ты getCollection используешь?
yopp
db.getCollection('Contact').find({"isClient" : true}, {"_id" : 1}).count(true)
Covered query будет только с проекцией {_id:0,_isClient:1}
Andry
db.getCollection('Contact').find({"isClient" : true}, {_id:0,_isClient:1}).count() ?
Andry
все равно ппц как долго
Andry
db.getCollection('Contact').find({"isClient" : true}, {"_id":0, "isClient":1}).count()
Andry
нет это не помогает
yopp
покажите пожалуйста explain({executionStats:1})
Viktar
А индекс точно есть?
Andry
https://pastebin.com/E7WL6DhG
yopp
https://pastebin.com/E7WL6DhG
У вас не используется индекс
yopp
Покажите пожалуйста список индексов
Andry
https://pastebin.com/ejvHyCjR
Andry
так да сейчас не правильно было но не суть
Andry
минутку я перестрою
Andry
нет не помогает секунду выложу новый
Andry
https://pastebin.com/AxuEKTs9
Andry
ну то есть видите - все равно очень медленно
yopp
"executionTimeMillis" : 453, "totalKeysExamined" : 1917147, "totalDocsExamined" : 0,
yopp
450мс это очень хороший результат
Andry
ну нет же
Andry
обычный count() без фильтра отдается да 92ms с учетом ttfb
Andry
а тут треш и садомия на 18 лямах - даже mysql лучше себя показывает
Andry
totalcount посчитать не может
yopp
Во-первых, прошу вас не использовать подобную речь в нашей группе. Во-вторых, ваш запрос требует перебора 1 917 147 ключей в индексе. 450 мс это всё ещё хороший результат для холодного запроса по индексу.
Andrey
а тут треш и садомия на 18 лямах - даже mysql лучше себя показывает
странно, у меня 5615717377 (5.6 млрд) записей, standalone mongodb, поиск с условием по значению, по индексированному полю - 0.2 s
yopp
Запросы по булевым значениям априори не могут быть селективными
Andry
если переделаю на инт?
yopp
Вам не это не поможет, так как у вас всё равно будет два значения
Andrey
если переделаю на инт?
в моем пример, как раз инт значения в полях
yopp
Вероятно, вам может помочь partial index
Andry
сейчас попробую!
Andry
Нет не помогло все так же долго
Andry
прийдется вырезать эти методы пейджинации и другой тип таблиц использовать с бесконечной прокруткой без общего колва страниц
Eva🇺🇦
Привет! Я хочу осуществить поиск по двум филдам, но есть вероятность, что не получит квери второй филд: let fName = ‘Eva’; let lName = undefined; findOne({fName: fName, lName: lName}) -- как мне сделать так, чтобы мне вернуло рандом Еву, если нет lName? либо конкретную, если есть lName?