2017-03-01 8 views
0

私が書いているmongooseクエリが常にnullを返す理由を理解しようとしています。いつものように[]ではなく、nullです。ここでMongooseランダムクエリの問題

は、コードは次のとおりです。

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

だから基本的にここにされて何が起こるか文書の_idは数だけでなくとして渡されます。私は、現在のユーザーチームの300ポイント以内のチームと、そのオーナーが現在のユーザーと等しくないので、自分のチームに挑戦しないランダムなチームドキュメントを取得したいと考えています。

変なふうに十分な私はmongoCompassに以下のクエリを入力すると、それが期待される結果を返します

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

API呼び出しを行うために、次のように私の角2プロバイダが見えます。私は、私はちょうどそれを把握するためにマングースの経験が不足している愚かな何かをやっている確信しているよう

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

これですべてのヘルプは非常に高く評価されるだろう。

答えて

0

エンドポイントがnull値または[]を正しく返すように、変数を正しく渡すことができませんでした。

関連する問題