Si entendí bien:
- Si el usuario tiene un
device_id
prohibido , luego bloquéalo - Si el usuario tiene un
display_name
prohibido , luego bloquéalo
En ese caso, realmente no importa si es anonymous
o no.
let excludedUsernames, excludedDevices;
blockedUsers.forEach((e) => {
excludedUsernames.puhs({ e["display_name"] });
excludedDevices.push({ e["device_id"] });
});
query.$and.push({ 'display_name' : { $nin: excludedUsernames } });
query.$and.push({ 'device_id' : { $nin: excludedDevices } });
EDITAR
query.$or.push({
$and: [
{ 'device_id' : { $nin: excludedDevices }},
{ 'display_name' : "anonymous" }
]
});
query.$or.push({ 'display_name' : { $nin: excludedUsernames } });