Sails模型查找“childAttributs”

时间:2015-05-07 14:50:30

标签: sails.js waterline model-associations

我有3个模型User,Scene,Player。

可能有类似的东西:

Player.find({"scene.user" : "someID", name : {'like' : '%' + key + '%'}}).populate("scene").exec(function(err, data)
{
    ....
});

规则协会是: 用户尽可能多的场景 场景有一个用户 场景有很多玩家 玩家有一个场景

我知道我可以在请求之后使用过滤器(如下所示),但想知道风帆是否可以作为一个请求。

解决方法:

Scene.find({user : userID}).populate("players", {Name : {'like' : '%' + key + '%'}}).then(function (elements)
    {
      var listPlayerOfCurrentUser = [];
      for (var i = 0; i < elements.length; i++)
      {
        var scenario            = elements[i];
        listPlayerOfCurrentUser = listPlayerOfCurrentUser.concat(scenario.players);
      }
      if (listPlayerOfCurrentUser.length > 0)
      {
        res.json(listPlayerOfCurrentUser);
      }
      else
      {
        res.status(404).json({error : 'no player found'});
      }
    }).catch(function (error)
    {
      console.error(error);
      res.status(500).json({error : 'DB error'});
    });

0 个答案:

没有答案