我有一个模型,'摘录',并希望获取不属于给定用户的所有摘录,并且不在排除摘录的列表中(例如,没有带有id&的摘录) #39;来自列表[0,1,2,3])。
我已成功选择了非用户拥有的所有摘录,方法是:
Excerpt
.query({
whereNot: { owner_id : req.currentUser.id }
})
.fetchAll()
.then((excerptResults) => {
res.status(200).json(excerptResults);
});
并且我尝试使用whereNotIn
排除使用以下代码段的摘录(根据this stackoverflow post):
Excerpt
.query({
whereNotIn: { id : [0, 1, 2, 3] }
})
.fetchAll()
.then((excerptResults) => {
var tasks = [];
for(var i=0; i<excerptResults.models.length; i++) {
tasks.push(excerptResults.models[i].attributes);
}
res.status(200).json(tasks);
});
不幸的是,我收到以下错误消息
Unhandled rejection Error: Undefined binding(s) detected when compiling SELECT query: select "excerpts".* from "excerpts" where "[object Object]" not in (?)
我真的不明白错误信息。有没有人有任何想法?
答案 0 :(得分:1)
应该适用于您的情况:
Excerpt.query(function(qb){
qb.where('id','not in', [0,1,2,3]).andWhere('owner_id','=',req.currentUser.id )
})
.fetchAll()
.then(...);