sql >> Databáze >  >> NoSQL >> MongoDB

jak mohu vytvořit svůj dotaz mongodb na základě vstupu od uživatele v node.js?

Jestli jsem to dobře pochopil:

  • Pokud má uživatel zakázané device_id , pak ho zablokujte
  • Pokud má uživatel zakázaný display_name , pak ho zablokujte

V takovém případě opravdu nezáleží na tom, zda je anonymous nebo ne.

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

UPRAVIT

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



  1. mongodb agregát k získání délky prvního vnořeného pole/seznamu

  2. GAE nemůže vyhledat záznam SRV pro instanci atlasu mongodb

  3. MongoDB $arrayElemAt

  4. Chyba MongoDb 2.6.1:17444 – Starší bod je mimo rozsah pro sférický dotaz