Моя проблема связана с mongodb и pymongo; У меня есть БД с несколькими коллекциями. Каждая коллекция содержит тысячи документов, но большинство содержит только около 10-200 «уникальных» документов. Я хотел бы СЧИТАТЬ, сколько раз каждый «уникальный» документ встречается в определенной коллекции. Я видел примеры COUNTIFS с определенными значениями полей, но не считая целых документов.
Я много читал об агрегациях, но все еще не знаю, нахожусь ли я на правильном пути; был бы признателен за некоторые рекомендации.
Предполагается, что в коллекции было всего 20 документов, но только 3 являются уникальными. Я хочу вывести значения COUNTIF, подобные этому.
{ "_id" : ObjectId("5cde2f68416437c1ae98de18"), "Source Network Address LP" : [ "192.168.5.5" ], "Account Name" : [ " -", " ANONYMOUS LOGON" ], "Process Name LP" : [ "-" ] } - 10
{ "_id" : ObjectId("5cde2f68416437c1ae98de19"), "Source Network Address LP" : [ "192.168.5.8" ], "Account Name" : [ " -", " ANONYMOUS LOGON" ], "Process Name LP" : [ "-" ] } - 6
{ "_id" : ObjectId("5cde2f68416437c1ae98de19"), "Source Network Address LP" : [ "192.168.5.2" ], "Account Name" : [ " -", " ANONYMOUS LOGON" ], "Process Name LP" : [ "-" ] } - 4
В конце концов я напишу этот вывод в файл CSV в следующем формате:
Source Network Address,Account Name,Process Name LP,count
'192.168.5.5','-|ANONYMOUS LOGON','-',10
'192.168.5.8','-|ANONYMOUS LOGON','-',6
'192.168.5.2','-|ANONYMOUS LOGON','-',4