繁体   English   中英

猫鼬随机查询问题

[英]Mongoose Random Query issues

我试图弄清楚为什么我正在编写的猫鼬查询总是返回null。 不是像往常一样[],而是null。

这是代码:

// 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" } }

我的angular 2提供程序看起来如下以进行api调用。

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

对此的任何帮助将不胜感激,因为我敢肯定我在做一些愚蠢的事情,只是我缺乏猫鼬的经验来弄清楚。

我无法正确传递变量,因此端点正确返回了空值或[]。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM