{"macID" : {$in : [1,2]}} не означава, че търсите два документа (с "macID" : 1 и "macID" : 2 ), това означава, че търсите всички документи, които имат macID равно на 1 или 2 .
Така че upsert: true казва на MongoDB да създаде само един документ (а не два).
Трябва да предоставите множество заявки за актуализиране (използвайте bulkWrite
с updateOne не updateMany ).