sailsjs Waterline ORM中的外键条件

时间:2014-07-01 04:48:55

标签: javascript sails.js waterline

我已经定义了下面的两个模型,我需要做的是检索属于活动伙伴的唯一邻域(partner.status = 1),我可以检索这样的分组邻域

Locations.find({groupBy: [ 'neighborhood' ],sum['id']}, function(err,locations){}); 

然后匹配检索到的活动合作伙伴列表或向后(即首先获取每个合作伙伴的位置的活动合作伙伴并在验证它们尚未存在后将其推送到数组)或仅通过自定义SQL查询(我试图远离) 但是......我想知道是否有某种方法可以使用ORM,因为我已经看到了 model.find()。populate(' model')没有& #39; t接受所需模型之外的参数,而不是find方法中接受外键条件的位置。

     Partner:{
        attributes:{
         businessName:{
             type:'string'
             },
         status:{
             type:'INT'
          }
          locations:{
              model:'Locations'
              via:'partner_id'
           }
          }
      }
Locations:{
    attributes:{
         partner_id:{
             model:'Partners',
             type:'INT'
             },
         neighborhood:{
             type:'STRING'
          }
          }
      }

提前致谢!

1 个答案:

答案 0 :(得分:1)

这是你要找的吗?

Locations.find({where: {value1: key1}})
 .populate('partners', {where: {value2: key2}})
 .exec(function(err, locations){
     // Now you've got what you need
 });

P / S:请在GitHub上查看SailsJS v0.10.x文档。我个人用这个:https://github.com/balderdashy/sails-docs/tree/0.10 这些文件不是最新的: - )