Sails.js 风帆模型“找到哪里”;“儿童属性”;

Sails.js 风帆模型“找到哪里”;“儿童属性”;,sails.js,waterline,model-associations,Sails.js,Waterline,Model Associations,我有3个模型用户,场景,播放器 可能会有以下情况: Player.find({"scene.user" : "someID", name : {'like' : '%' + key + '%'}}).populate("scene").exec(function(err, data) { .... }); 协会的规则是: 用户尽可能多的场景 场景有一个用户 这个场景有很多玩家 玩家有一个场景 我知道我可以在这样的请求后使用过滤器(如下所示),但我想知道sails是否可以将其作为一个请求

我有3个模型用户,场景,播放器

可能会有以下情况:

Player.find({"scene.user" : "someID", name : {'like' : '%' + key + '%'}}).populate("scene").exec(function(err, data)
{
    ....
});
协会的规则是: 用户尽可能多的场景 场景有一个用户 这个场景有很多玩家 玩家有一个场景

我知道我可以在这样的请求后使用过滤器(如下所示),但我想知道sails是否可以将其作为一个请求

解决方法:

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'});
    });
Scene.find({user:userID})。填充(“players”,{Name:{'like':'%'+key+'%'})。然后(函数(元素)
{
var listPlayerOfCurrentUser=[];
对于(var i=0;i0)
{
res.json(listPlayerOfCurrentUser);
}
其他的
{
json({error:'no player found'});
}
}).catch(函数(错误)
{
控制台错误(error);
json({error:'DB error'});
});