2017-08-29 27 views
0

我有一些使用or語句的問題是sequelize。 下面是我已經能夠拿出代碼:使用OR語句在後續查詢中查詢

UserExist(req, res) { 
const field = req.body.username || req.body.email; 
const getFieldName = field === req.body.username ? 'username' : 'email'; 
return User 
    .findOne({ where: { 
    $or: [ 
     { 
     email: req.body.email, 
     username: req.body.username 
     } 
    ] 
    } 
    }) 
    .then((user) => { 
    if (user) { 
     res.status(200).send({ message: `${getFieldName} already exist` }); 
    } 
    }) 
    .catch(() => res.status(404).send({ message: '' })); 

}

代替執行的OR statment只選擇*從用戶

回答

5

按照sequelize documentation

你應該給出不同的條件,因爲不同的元素$or array

請試試這個:

$or: [ 
    { 
    email: req.body.email 
    }, 
    { 
    username: req.body.username 
    } 
] 
+0

非常感謝你,它的工作原理! – dealwap

+0

good @hemantkumar –