2017-03-01 5 views
0

Ich versuche herauszufinden, warum eine Mungo-Abfrage, die ich schreibe immer Null zurückgibt. Nicht wie üblich, aber null. HierMongoose Random Query Probleme

ist der Code:

// Get random single opponent within 300 points of your team value in either direction 
app.get('/api/teams/getOpponent', function (req, res) { 
    var value = req.query.teamValue; 
    var owner = req.query.owner; 
    var maxVal = value + 300; 
    var minVal = value - 300; 
    var filter = { 
     value: { $gte: minVal, $lte:maxVal }, 
     owner: { $ne: owner } 
    }; 

    var fields = {} 
    var options = { limit: 1 } 
    // use mongoose to get all teams in the database 
    Team.findRandom(filter, fields, options, function (err, team) { 
     // if there is an error retrieving, send the error. nothing after res.send(err) will execute 
     if (err) 
      res.send(err) 
     res.json(team); // return a team in JSON format 
    }); 
}); 

Also im Grunde, was hier passiert, ist ein Dokument _id wird als auch eine Reihe übergeben. Ich möchte dann ein zufälliges Teamdokument holen, in dem sich ein Team innerhalb von 300 Punkten des aktuellen Benutzerteams befindet und dessen Besitzer dem aktuellen Benutzer nicht gewachsen ist, so dass sie ihr eigenes Team nicht herausfordern.

Seltsam genug, wenn ich die folgenden Abfrage in die mongoCompass geben Sie die erwarteten Ergebnisse liefert

{ "value": { $gte:1000, $lte:1600}, "owner": { $ne: "58986cd25e7c780011881bcd" } } 

Mein Winkel 2 Anbieter für die Herstellung der API-Aufruf wie folgt aussieht.

getOpponent(options) { 
    console.log("options", options); 
    return new Promise(resolve => { 
     this.http.get('https://pitchlife-hearts.herokuapp.com/api/teams/getOpponent?teamValue=' + options.value + '&owner=' + options.owner) 
      .map(res => res.json()) 
      .subscribe(data => { 
       this.data = data; 
       resolve(this.data); 
      }); 
    }); 
} 

Alle mit dieser Hilfe würde geschätzt sehr groß, wie ich sicher bin ich etwas Dummes mir fehlt einfach die Erfahrung mit Mungo es herauszufinden mache.

Antwort

0

Ich konnte die Variablen nicht korrekt übergeben, so dass der Endpunkt einen Nullwert oder ein [] korrekt zurückgegeben hat.