DB操作
find
- 条件に合うオブジェクトを返す
Model.find({
where: {id: 1}
});
findAll
- 条件に合うオブジェクトを配列で全て返す
Model.findAll({
where: {sampleId: 2}
});
create
- レコードをinsertする
Model.create({
name: 'はなこ',
age: 25
});
update
- レコードをupdateする
Model.update({
name: 'まるこ',
age: 22
});
destroy
- 条件に合うレコードをdeleteする
Model.destroy({
where: {id: 3}
});
DB操作応用
include
- 自分に対してbelongsToの関係にあるモデルをリレーションを持った状態でDBから取り出してくれる
ModelA.findAll({
include: {
model: ModelB
}
});
$or
- where句に複数の条件をORで指定する
Model.findAll({
where: {
$or: [
{sampleId: 1},
{sampleId: 3},
{sampleId: 5}
]
}
});
- 以下のwhere句と同じ
where id=1 or id=3 or id=5
in
- where句に複数の条件をANDで指定する
var deleteObjectIds = [1, 2];
Model.destroy({
where: {
id: {
in: deleteObjectIds
}
}
})
- 以下のwhere句と同じ
where id=1 and id=2
同期/非同期処理
- functions配列の処理が全て完了すると、Promise.allの処理に入る
var functions=[];
functions.push(Model.create({
name: 'はなこ',
age: 25
}));
functions.push(new Promise(function(resolve, reject) {
Model.create({
name: 'たろう',
age: 25
}).then(function(){
// 処理
resolve();
}).catch(function(err){
reject(err);
});
}));
Promise.all(functions).then(function() {
// 処理
resolve();
}).catch(function(err) {
reject(err);
});