Sequelizeでsqlのexistsを再現
Sequelizeとは
sqlite3、Mysql、Postgresへ簡単にアクセスするためのライブラリである
実際に使う場合はsequelizeを使ってみたを参照
実現方法
Sequelizeでexistsを記述する場合、queryに直接記述するかexistsと同等の処理を記述する二つのやり方がある
今回はqueryに直接記述するのではなくexistsと同等の処理を記述する取っつきやすいやり方を紹介する
以下のユーザモデルがあったとしてレコードが存在するかどうか表現できればいい
const User = sequelize.define('user', {
firstName: {
type: Sequelize.STRING
},
lastName: {
type: Sequelize.STRING
}
})
existsはsequelizeに用意されていないのでfindOne若しくはcountを用いる
findOneの場合
Follow.findOne({
where: { id: id }
}).then(data => {
if (!!data) {
return true
} else {
return false
}
})
countの場合
User.count({
where: { id: id }
}).then(count => {
if (count != 0) {
return true
}
return false
});
以上です
sequelizeでexistsを記述する方法が見つからなかったので自分で書いてみました
誰かの役に立てれば幸いです
もっといい書き方が教えてもらえると嬉しいです