MongoDB: Найдите дубликаты по ДВУМ полям вместе (электронная почта и отображаемые идентификаторы И документы

#python #mongodb #duplicates

Вопрос:

У меня есть следующая тестовая настройка для моей школьной лаборатории: моя «База данных»:

 {"_id":{"$oid":"61a7496f2bbe3123dbecb439"},"E-Mail":"stillastudent@fakemail.dk","Password":"mysupersecurepasswordnobodyknows"}  

создавал один и тот же набор данных снова и снова

 {"_id":{"$oid":"48574850459480954385934859"},"E-Mail":"stillastudent@fakemail.dk","Password":"mysupersecurepasswordnobodyknows"}  

(В моей базе данных всего 10 записей, только для тестирования). Я хотел бы показать все дубликаты документов, при соблюдении следующих условий адрес электронной почты и пароль (вместе) должны совпадать в другом документе. Так что в моем случае у меня есть два входа для stillastudent@fakemail.dk с тем же самым пассвортом. _id не совпадает.

Мне удалось найти дубликаты, но только в поле «Пароль». что я сделал до сих пор:

 [{$group: {  _id: {  'E-Mail': '$E-Mail',  'Password': '$Password'  },  uniqueIds: {  $addToSet: '$_id'  },  count: {  $sum: 1  } }}, {$match: {  count: {  $gt: 1  } }}, {$sort: {  count: -1 }}]  

в верхней части я хотел бы распечатать полученные оба совпадения, чтобы сравнить их (позже я удалю их в той же аггерации)

цель: перечислите документы с содержимым, где электронная почта и пароль из одного документа одинаковы в другом документе.

с наилучшими пожеланиями, Пол

Комментарии:

1. Не могли бы вы предоставить образец набора данных, который я могу использовать для тестирования? Я не совсем уверен, что вы ищете, так как в каждом документе, похоже, есть только одна комбинация электронной почты и пароля.

2. Да, я могу это сделать, и вы правы, единственное содержимое каждого документа-это идентификатор, имя пользователя, пароль

3. Да, я могу это сделать, и вы правы, единственным содержимым каждого документа является идентификатор, имя пользователя, пароль: « [{ «_id»: { «$oid»: «485748504594809535934859»}, «Электронная почта»: «stillastudent@fakemail.dk», «Пароль»: «mysupersecurepasswordnobodyknows» },{ «_id»: { «$oid»: «61a7496f2bbe3123dbecb439» }, «Электронная почта»: «stillastudent@fakemail.dk», «Пароль»: «mysupersecurepasswordnobodyknows» },{ «_id»: { «$oid»: «61a7bc852bbe3123dbefc1ad» }, «Электронная почта»: «tkuni70456@aol.com», «Пароль»: «letmein» }] «