Nick
Так нету результат
create_id: { $in :[....]}
Google
в места OR ,,?
Viktar
Я думал вы ищете в массиве
Google
create_id: { $in :[....]}
А на первый ID как прописать ?
Nick
первый итак правильно написан
Nick
а у вас create_id это строка?
Nick
во
Nick
вам нужно строки сначала в ObjectId сконвертить
Google
Error
Google
Nick
со скобками круглыми напутали
Google
$lt на первый ID ? так правильно ?
Google
find({ $or: [{ create_id: { $lt: create_id } }, (create_id: { $in: access })], }).lean();
Viktar
find({ $or: [{ create_id: { $lt: create_id } }, {create_id: { $in: access }}] }).lean();
Google
Но так получаю все
Nick
что не так?
Google
а я должен получить 2 потому что у меня в передаче идёт только два ID
Nick
$or = ИЛИ
Nick
если вам надо И то $and
Google
Вот эти данные поподают в in то что прописали сейчас
Google
а у нас сейчас всё выводится
Viktar
Смотрите условия
Google
так поиск не идёт
Google
прописал and
Viktar
Что выводит первая часть, что вторая
Google
а не 2 ID по совпадение
Viktar
прописал and
Анд у вас совершенно подходит
Viktar
Ознакомьтесь с фильтрами
Viktar
В файд
Google
ну мне в find надо сделать так если первый совподает выводит и второй если тоже совподает его тоже надо выводит
Google
так работает но получаю всё что тоже не совподает
Google
Dee
Всем привет! У меня есть коллекция, ищу какие-то данные по id, например. Вовзращается 4 элемента, у которых по 2 элемента с одинаковым id. Мне теперь из этих 4 надо получить 2 элемента, среди которых надо найти максимальное значение из [{id: 1, value:20},{id: 2, value:10},{id: 1, value:10},{id: 2, value:20}] должен получить [{id: 1, value:20},{id: 2, value:20}], где max(value) идет поиск Гуглил и понял, что придется делать аггрегирование. Иной способ кто-то может предложить?
yopp
А зачем иной способ?
Dee
Также читал, что аггрегирование просаживается по скорости
yopp
Это спорное утверждение
yopp
Другого разумного способа нет. Скорость это последнее о чём стоит беспокоиться. И решать проблемы абстрактной «скорости» невозможно
yopp
Когда у вас будут реальные проблемы, тогда будет смысл их решать
Dee
До появления проблем, пытаюсь свести их возникновение к минимуму =)
yopp
Это невозможно, потому что вы не знаете какие они будут. С высокой долей вероятности то, на что вы потратие время будет абсолютно бесполезно. TL;DR: сделайте на агрегации и посмотрите укладывается ли это в ваши параметры
Google
Можете помочь по-чемуто когда первый условия не совподает на второй не идёт ?
Дмитрий
Потому что and, логично же
Дмитрий
Первое не выполнилось, зачем вообще второе проверять
Дмитрий
Может нужен $or?
Sergey Bedritsky
всем доброго дня. нужна помощь (платная) составить пару аггрегаций. есть у кого-нибудь полчаса свободных? напишите в личку плз
Sergey Bedritsky
ок, пока все молчат спрошу тут. делаю аггрегацию { $sortByCount: '$createdAt' }, { $project: { _id: 0, key: '$_id', value: '$count' } } возвращает типо такого { "key": "2020-08-26", "value": 121445 }, { "key": "2020-10-08", "value": 161190 }, { "key": "2021-01-09", "value": 106364 }, дальше я хочу отсортировать по порядку (и key и value нужно) но это не работает { $sortByCount: '$createdAt' }, { $project: { _id: 0, key: '$_id', value: '$count' } } { $sort: { value: -1 } }
Денис
Добрый вечер. У кого-нибудь есть идеи, как должна выглядеть схема лайков и избранного в mongo, которые будут отображаться под постом?
Vitaliy
Добрый день. Возможно ли сделать входящий populate? То есть есть схема , в которой есть ссылка на другую схему в которой есть ссылка на другую схему? Вот один уровень populate проходит а ниже не получается...
Евгений
может кто-то подскажет как в таком запросе сделать агрегацию для подсчета общего количества по нужным полям?
Anonymous
День добрый, как можно получить "flags" одного объекта в этом массиве?
Kenan
Спасибо
гуглю за вас :)
Anonymous
в смысле? admins[0].flags?
Поиск по "idA", чтоб выводился нужный объект.
Vitaliy
гуглю за вас :)
Суда пришёл после Гугла ... Спасибо
Vlad
Доброго времени суток. Кто-нибудь знает, есть ли возможность сделать два read (первый тянет один документ, второй несколько) из разных коллекций с гарантией что между ними не произойдёт записи во вторую коллекцию? Я правильно понял что для этого необходима транзакция с read concern = “snapshot”?
Sergey Bedritsky
в каком формате тут expresson требует? в приложении было так { $sortByCount: '$createdAt' }
Sergey Bedritsky
а вроде все, можно просто строку дать
Lev
Как соединить несколько коллекиций и выполнить над ними пайп?
Lev
ай... 4.4
Null
4.4.3 (Jan 4) ◦ 4.2.12 (Jan 22) ◦ 4.0.22 (Jan 4) • Решение проблем с MongoDB по подписке • Документация • Официальные курсы (Бесплатно) Stable: 4.4.3 (Jan 4) ◦ Bugfix: 4.2.12 (Jan 22) Legacy: 4.0.22 (Jan 4, ☠️Jan ’22) ◦ 3.6.21 (Nov 16 ’20, ☠️Apr ’21) По вопросам размещения вакансий, платной поддержки и покупки лицензий пишите @dd_bb ☠️ 3.4.23 (Jan ‘20), 3.2.21 (Dec ’18), 3.0.15 (May ’17)
Nick
ай... 4.4
а скажи почему так получилось что вам нужен union? почему данные из разных коллекций надо одинаково обрабаывать
Lev
Да я просто поанализировать хотел немного
Lev
Найти максимальное количество пакетов за минуту на пару лет
Lev
yopp
сделать facet, где в каждой коллекции свой пайплайн и потом после facet объеденить результаты
Lev
Попробую, спасибо
Lev
после facet объединить результаты - это как?
yopp
ну увас результат facet это ключ в root документе
yopp
сделать $objectToArray и потом проекциями поправить формат документов
yopp
если нужно именно массивом документов
yopp
если не нужно, то as is