sql >> Databasteknik >  >> NoSQL >> MongoDB

Kombinera två ELLER-frågor med AND i Mongoose

Det är förmodligen enklast att skapa ditt frågeobjekt direkt som:

  Test.find({
      $and: [
          { $or: [{a: 1}, {b: 1}] },
          { $or: [{c: 1}, {d: 1}] }
      ]
  }, function (err, results) {
      ...
  }

Men du kan också använda Query#and hjälpare som är tillgänglig i de senaste 3.x Mongoose-versionerna:

  Test.find()
      .and([
          { $or: [{a: 1}, {b: 1}] },
          { $or: [{c: 1}, {d: 1}] }
      ])
      .exec(function (err, results) {
          ...
      });



  1. Mongodb C#-drivrutinen returnerar endast matchande underdokument i array

  2. kör redis eval-kommandot för att köra Lua-skript i nodeJS

  3. MongoDB - Fråga mellan ett tidsintervall på timmar

  4. MongoDB -- Ange ett villkorligt uttalande i .find()