prima di tutto sono nuovo a mongo quindi non ne so molto e non posso semplicemente rimuovere le righe duplicate a causa di alcune dipendenze.Query distinto Mongo con oggetto riga intera
Ho dati seguente stored in Mongo
{'id': 1, 'key': 'qscderftgbvqscderftgbvqscderftgbvqscderftgbvqscderftgbv', 'name': 'some name', 'country': 'US'},
{'id': 2, 'key': 'qscderftgbvqscderftgbvqscderftgbvqscderftgbvqscderftgbv', 'name': 'some name', 'country': 'US'},
{'id': 3, 'key': 'pehnvosjijipehnvosjijipehnvosjijipehnvosjijipehnvosjiji', 'name': 'some name', 'country': 'IN'},
{'id': 4, 'key': 'pfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnew', 'name': 'some name', 'country': 'IN'},
{'id': 5, 'key': 'pfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnew', 'name': 'some name', 'country': 'IN'}
potete vedere alcune delle righe sono duplicati con diversi id fintanto che ci vorrà per risolvere questo problema da input devo affrontarlo in uscita.
ho bisogno i dati nel seguente modo:
{'id': 1, 'key': 'qscderftgbvqscderftgbvqscderftgbvqscderftgbvqscderftgbv', 'name': 'some name', 'country': 'US'},
{'id': 3, 'key': 'pehnvosjijipehnvosjijipehnvosjijipehnvosjijipehnvosjiji', 'name': 'some name', 'country': 'IN'},
{'id': 4, 'key': 'pfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnewpfvvjwovnew', 'name': 'some name', 'country': 'IN'}
La mia domanda
keys = db.collection.distinct('key', {})
all_data = db.collection.find({'key': {$in: keys}})
Come si può vedere ci vogliono due query per uno stesso set di risultati prega si combinano a uno come il database è molto grande
Potrei anche creare un unique key
su key
ma il valore è così lungo (152 caratteri) che non mi aiuterà.
Oppure lo farà ??
Eventuali duplicati di [Rimuovi duplicati da MongoDB] (http://stackoverflow.com/questions/ 31557053/remove-duplicates-from-mongodb) –
Forse non "esattamente" nella parte "rimozione", ma certamente nella parte di identificazione. Fondamentalmente è necessario '$ gruppo' sui campi comuni e quindi restituire qualsiasi altro campo ancillare con' $ first' –