Привет, ребята. Помогите с агрегагацией, пожалуйста. Ищу дубли доков с одинаковым

полем innerid
делаю так —
[
{
'$project': {
'innerid': 1,
'uuid': 1
}
}, {
'$group': {
'_id': '$innerid',
'uuids': {
'$push': '$uuid'
}
}
}, {
'$addFields': {
'sizeOfArray': {
'$size': '$uuids'
}
}
}, {
'$match': {
'sizeOfArray': {
'$gt': 300
}
}
}
]
имею результат компасе — докумен с иннерид 959407 имеет 317 дублей.

Но проблема в том что файнд {innerid: 959407} дает мне почти 5000 доков.
Что я делаю не так? Почему разные цифры?

8 ответов

18 просмотров
Максим- Автор вопроса

Я понял почему разница. В компасе на вкладке агрегаций лимиты стояли.

Максим- Автор вопроса

Может есть более правильный способ найти документы с дублями поля которое должно быть уникальным?

Максим- Автор вопроса
Максим
А на этот вопрос можете ответить?

А что именно надо? Дубликаты должны быть в коллекции или нет? Опишите исходную бизнес задачу.

Максим- Автор вопроса
Andrew S.
А что именно надо? Дубликаты должны быть в коллекц...

Вообще поле innerid и uuid должны быть уникальными, они есть в каждом документе. С uuid все ок, он не повторяется, а вот innerid нет. Хочу узнать сколько у меня уникальных innerid в коллекции

Максим
Вообще поле innerid и uuid должны быть уникальными...

А никакие constraints вы не описывали изначально на уникальность? Чтобы дубликаты даже не попадали в коллекцию.

Максим
Вообще поле innerid и uuid должны быть уникальными...

https://docs.mongodb.com/manual/reference/method/db.collection.distinct/

Максим- Автор вопроса

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта