Node.js Sails可以同时查询两个表吗?
我尝试使用Sails查询语言查询两个表,并使用Postgresql作为数据库 我有两张桌子“人”和“宠物” 对于“人”,其模型为:Node.js Sails可以同时查询两个表吗?,node.js,sails.js,sails-postgresql,Node.js,Sails.js,Sails Postgresql,我尝试使用Sails查询语言查询两个表,并使用Postgresql作为数据库 我有两张桌子“人”和“宠物” 对于“人”,其模型为: id: { type: 'integer', primaryKey } namePerson: { type: 'string' } age: { type: 'integer' } id: { type: 'integer', primaryKey } owner: { model: 'Person' } namePet: { type: 'string' }
id: { type: 'integer', primaryKey }
namePerson: { type: 'string' }
age: { type: 'integer' }
id: { type: 'integer', primaryKey }
owner: { model: 'Person' }
namePet: { type: 'string' }
对于“宠物”,其型号为:
id: { type: 'integer', primaryKey }
namePerson: { type: 'string' }
age: { type: 'integer' }
id: { type: 'integer', primaryKey }
owner: { model: 'Person' }
namePet: { type: 'string' }
我想找到所有12岁以下的人拥有的宠物,我想在一个查询中找到。可能吗
我只知道如何在两个查询中完成它。首先,找出所有12岁以下的人:
Person.find({age: {'<', 12}}).exec(function (err, persons) {..};
你需要这里(一个人可以养几只宠物)
您的人应该与宠物联系在一起:
module.exports = {
attributes: {
// ...
pets:{
collection: 'pet',
via: 'owner'
}
}
}
您的宠物应与以下人员联系:
module.exports = {
attributes: {
// ...
owner:{
model:'person'
}
}
}
您仍然可以按年龄标准查找用户:
Person
.find({age: {'<', 12}})
.exec(function (err, persons) { /* ... */ });
人
.find({age:{'谢谢你的回答。它解释得很好。还有一个问题。我发现查询:Person.find({age:{'
Person
.find({age: {'<', 12}})
.populate('pets')
.populate('children')
// ...