我在sails.js中使用水线并尝试查找“User”模型的所有记录,其相关的“Car”模型的id位于指定列表中,如下所示:
var list = [3, 4, 5];
User.find().populate('car', {
where: {
id: list
}
}).exec(function(err, foundUsers){
console.log(foundUsers);
});
问题是无论列表值如何都会执行查询,并返回所有记录。该标准应该如何应用?
模型定义如下:
//User:
module.exports = {
connection: 'mysqlConnection',
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true
},
car: {
model: 'Car'
}
}
}
//Car:
module.exports = {
connection: 'mysqlConnection',
attributes: {
id: {
type: 'integer',
primaryKey: true,
autoIncrement: true
},
title: {
type: 'string'
}
}
}
答案 0 :(得分:0)
我从未理解为什么Waterline表现得像这样......
但这是一个简单的方法:
var list = [3, 4, 5];
User
.find({ car: list })
.populate('car')
.exec(function(err, foundUsers){
console.log(foundUsers);
});
编辑:从2017年1月31日起,额外的人数不再是强制性的了。没有检查它改变的版本