Sequelize.js 一to-many关联sequelize(关系/协会)子查询
var City = sequelize.define('city', { countryCode: Sequelize.STRING });
var Country = sequelize.define('country', { isoCode: Sequelize.STRING });
// Here we can connect countries and cities base on country code
Country.hasMany(City, {foreignKey: 'countryCode', sourceKey: 'isoCode'});
City.belongsTo(Country, {foreignKey: 'countryCode', targetKey: 'isoCode'});
[国家] & [市]在DB,这样的:
- Country-001
* City-001-1
* City-001-2
* City-001-3
- Country-002
* City-002-1
* City-002-2
* City-002-3
- Country-003
no city
- Country-004
* City-004-1
* City-004-2
* City-004-3
...
- Country-100
* City-100-1
* City-100-2
* City-100-3
我想查询[国家]存在[城市],用偏移量&限制,使用ORM,而不是sql,如下所示:
Country.findAll({
where: {},
include: [],
offset: 0,
limit: 10
});
我不知道该怎么做?
我尝试了一些方法,他们不太好。 这种方式是不正确的,它会返回9 [国家]不是10,[国家003]真的不在结果中,但限制是不正确的。
Country.findAll({
where: {},
include: [mode: City, require: true],
offset: 0,
limit: 10
});
add require false and try –
但是,我不希望[Country]没有[City]返回结果。 – YETI