Mongoose / MongoDB合并两个查找查询

时间:2018-07-16 21:39:00

标签: javascript mongodb mongoose

我知道这将是一个简单的答案,但是我从来没有做过一次以上的查询!

我有一个游戏项目,我想以列表的形式返回用户所属的游戏,它首先进行查询以查看它们是否为主机,然后查询它们是否为玩家。然后获取这两个查询的结果并按createdOn时间排序。

如您所见,我可以在第一次查询gamePlayers.user时使用它,但是我还必须能够查询host.user。

就像我说的那样,我知道这将是一个简单的答案,但是我的谷歌搜索已空无一物,我将不胜感激!

router.get('/currentgames', passport.authenticate('jwt', { session: false }),
(req, res) => {

    const errors = {};
    const userId = req.user.id;

    Game.find({"gamePlayers.user": userId})
        .limit(10)
        .sort({lastUpdated: -1})
        .then(games => {
          if(!games) {
            errors.nousergames = 'You have no games yet';
            return res.status(204).json(errors);
          }
            res.json(games);
        })
        .catch(err =>
          res.status(404).json({ game: 'There are no games'})
        );
  });

0 个答案:

没有答案