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);
});
});
}
これですべてのヘルプは非常に高く評価されるだろう。