我正在尝试使用帆钩深度orm在帆js中进行多重填充。我想筛选省份id。我使用的是Sails和Node的最新版本。我使用MySQL作为数据库。
这是我的型号:
// Province.js
attributes: {
name: {
type: 'string',
required: true
},
description: {
type: 'string',
required: false
},
cities: {
collection: 'city',
via: 'province'
}
}
// City.js
attributes: {
name: {
type: 'string',
required: true
},
description: {
type: 'string',
required: false
},
province: {
model: 'province'
},
communities: {
collection: 'community',
via: 'city'
}
}
// Community.js
attributes: {
name: {
type: 'string',
required: true
},
description: {
type: 'string',
required: false
},
cities: {
collection: 'city',
via: 'province'
}
}
我尝试过:
Community.find()
.populate('city.province', {'city.province.id' : 1});
Community.find()
.populate('city.province', { where: { 'city.province.id': 1 } });
代码仍然没有筛选。我希望这个案子能得到解决。谢谢:(
当您填充对象的关联时,名称需要是父对象中关联的名称,而不是您引用的模型的名称。
在您的情况下,社区有一个名为"城市"的协会。
下一步是过滤城市列表,这是where语句作为populate的第二个参数。
Community.find()
.populate('cities', {
where: {
province: 1
}
}
)