我有一个地址,我想知道它是否已经在数据库中,如果没有,创建一个新地址。我知道我可以在这里使用findOrCreate()
,但让我们轻松一点,然后检查一下为什么我甚至找不到现有的地址。
var address = {
name: req.body.name,
address1: req.body.address1,
address2: req.body.address2,
zip: req.body.zip,
city: req.body.city,
country: req.body.country,
user_id: req.body.user_id
};
Address.find({where: address}).then(function(result){
console.log(result);
}).catch(function(err){
console.error(err);
});
生成的查询要求... AND user_id = NULL
哪个错误。它应该问... AND user_id IS NULL
。我怎样才能让续集为我做正确的事?感谢。
答案 0 :(得分:2)
您应该只使用JavaScript null原语。
var address = {
name: req.body.name,
address1: req.body.address1,
address2: req.body.address2,
zip: req.body.zip,
city: req.body.city,
country: req.body.country,
user_id: req.body.user_id || null
};
这将生成查询
... user_id IS NULL
其他信息
model.findAll( { where: { some_column : undefined } } );
将生成
... WHERE `some_column` = NULL