Сароар🧑🏼🦱
Dmytro
Народ, подскажите плиз, как добавить проверку на существование элемента и добавление его в массив?
$addFields: {
pictureUrl: [
{
$concat: ["some-url", '$picture1'],
},
{
$concat: ["some-url", '$picture2'],
}
],
}
Пол
Здарово как подключиться к базе с компа в компассе.. Что настроить на серваке или прописать. Подскажите плз
Андрей
разрешить удаленное подключение
Пол
Simon
Подскажите, пожалуйста, как сделать выборку с N записи по M запись?
Андрей
Simon
Подскажите оператор пожалуйста
Simon
Недавно пересел, найти не могу
Simon
Через SQL делается LIMIT OFFSET
Simon
А в монге как это юзается?
Simon
ааа, спасибо большое!
Simon
То что надо
Semeon
Уважаемый чат, а подскажите пожалуйста, в чём может быть дело?
В «песочнице» код работает: агрегирует документы по полю и фильтрует дубли. А в JS — нет. Версия MongoDB 4.4.10 (Atlas).
Пример запроса: https://mongoplayground.net/p/4qIKUBpazXp
Vladimir
Всем привет!
Есть такие документы:
{forward_channel_id: 123, url: "asdasd"}
{forward_channel_id: 123, url: "dsasda"}
Как отсортировать все документы, чтобы получилось что-то типа того?:
{
"forward_channel_id": 123,
"urls": ["asdasd", "dsasda"]
}
db.collection.aggregate([
{
$group: {
_id: "$forward_channel_id",
urls: {
"$push": "$url",
}
},
},
{
$project: {
_id: 0,
forward_channel_id: "$_id",
urls: 1
}
}
])
Aryn
Aryn
Давайте кинем запрос в ТП монги, чтобы добавили новых версий...
Aryn
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
что то можете предложить для решения этой проблемы?
Cloud
Andry
нет это не помогает
Andry
передав параметр query так же начинает тормозить
Andry
db.getCollection('Contact').countDocuments({"isClient" : true}, {"_id" : 1})
Cloud
а поч ты getCollection используешь?
yopp
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
Andry
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 мс это всё ещё хороший результат для холодного запроса по индексу.
Andry
yopp
Запросы по булевым значениям априори не могут быть селективными
Andry
если переделаю на инт?
Andrey
yopp
Вам не это не поможет, так как у вас всё равно будет два значения
yopp
Вероятно, вам может помочь partial index
Andry
сейчас попробую!
Andry
Нет не помогло все так же долго
Andry
прийдется вырезать эти методы пейджинации и другой тип таблиц использовать с бесконечной прокруткой без общего колва страниц
Eva🇺🇦
Привет! Я хочу осуществить поиск по двум филдам, но есть вероятность, что не получит квери второй филд:
let fName = ‘Eva’;
let lName = undefined;
findOne({fName: fName, lName: lName}) -- как мне сделать так, чтобы мне вернуло рандом Еву, если нет lName?
либо конкретную, если есть lName?
Viktar