Aggregation Query optimization or a problem network?

Hello everyone,

I connect to my Atlas via compass correctly.
I launch this aggregation:

db.test1.aggregate([{$match: {$and: [{schemaVersion: {$exists:false}}, {$or: [{commodityStatus:"ATTIVO"}, {commodityStatus:"IN ATTIVAZIONE"},{commodityStatus:"UTILIZZABILE"},{commodityStatus:"POTENZIALE"}]}]}},{ $group:{ "_id": "$personalAssistantId","unique_count": {$addToSet: "$sourceCommodityClientCode"}} }, { $project:{ "distinct_sourceCommodityClientCode":{ $size: "$unique_count" } } }], {allowDiskUse : true})

Until yesterday I never got any errors, today the query goes to error:

MongoNetworkTimeoutError: connection 11 to ip:27017 timed out
    at C:\Program Files\Compass\resources\app.asar\node_modules\mongodb\lib\cmap\connection.js:82:11
    at Map.forEach (<anonymous>)
    at TLSSocket.<anonymous> (C:\Program Files\Compass\resources\app.asar\node_modules\mongodb\lib\cmap\connection.js:80:20)
    at TLSSocket.emit (events.js:200:13)
    at TLSSocket.Socket._onTimeout (net.js:432:8)
    at listOnTimeout (internal/timers.js:531:17)
    at processTimers (internal/timers.js:475:7)

Is it a network problem or can I optimize my query?
Query returns millions of documents and is already indexed.