MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie kann ich meine Mongodb-Abfrage basierend auf der Eingabe des Benutzers in node.js erstellen?

Wenn ich es richtig verstanden habe:

  • Wenn der Benutzer eine gesperrte device_id hat , dann blockiere ihn
  • Wenn der Benutzer einen gesperrten display_name hat , dann blockiere ihn

In diesem Fall spielt es keine Rolle, ob er anonymous ist oder nicht.

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   } });

BEARBEITEN

query.$or.push({
    $and: [
        { 'device_id'    : { $nin: excludedDevices }},
        { 'display_name' : "anonymous" }
    ]
});
query.$or.push({ 'display_name' : { $nin: excludedUsernames } });