概要
Prismaを使ったプロジェクトを半年くらい担当していたが、そのプロジェクト離れることになったのでまた使う時のためのメモ
公式ドキュメント
prisma-client
Prisma Client API reference
CRUD
メソッド
アクション
メモ
create
作成
createMany
一括作成
bulk insert
findUnique
取得
一意の識別子またはIDを指定する必要がある
findFirst
取得
条件に一致する最初のレコードを取得
findMany
複数件取得
条件に一致する全てのレコードを取得
update
更新
1.条件に一致するレコードを更新 2.一意の識別子またはIDを指定する必要がある
updateMany
複数件更新
条件に一致する全てのレコードを更新
upsert
作成・更新
条件に一致するレコードが存在していれば更新、していなければ作成する
delete
削除
条件に一致するレコードを削除する
deleteMany
複数件削除
条件に一致する全てのレコードを削除する
example
// ageが20のuserを取得
prisma.user.findMany({
where: {
age: 20,
},
})
// idが22のuser名を'taro'に変更
prisma.user.update({
where: {
id: 22,
},
data: {
name: 'taro'
}
})
query options
名前
内容
ノート
select
レコードのフィールドを指定
include
レコードに含めるリレーションの先を指定
where
任意のプロパティでフィルタリング
orderBy
レコードのリストを並べ替える
skip
任意の数レコードをスキップする
take
指定したレコード数を取得する
cursor
レコードの取得位置を指定
IDまたは別の一意の値を指定します
Filter conditions and operators
演算子とそれぞれの条件
演算子
条件
ノート
equals
値が等しいか
not
値が等しくないか
in
リストに存在するか
notIn
リストに存在しないか
nullのフィールドのものは所得できない
lt
n未満
数値や日付など
lte
n以下
数値や日付など
gt
nより大きい
数値や日付など
gte
n以上
数値や日付など
contains
含んでいるか
startsWith
xから始まるか
前方一致
endsWith
xで終わるか
後方一致
AND
複数の条件に一致するか
リストで指定する
OR
1つ以上の条件に一致するか
リストで指定する
NOT
複数の条件に一致しないか
リストで指定する
Relation filters
演算子
条件
メモ
some
いくつかのフィルタ条件に一致するか
every
全てのフィルタ条件に一致するか
none
全てのフィルタ条件に一致しないか
is
フィルタ条件に一致するか
isNot
フィルタ条件に一致しないか
example
// ageが20以上のuserを取得
prisma.user.findMany({
where: {
age: {
gte: 20
},
},
})
// idが22のuser名を'taro'に変更
prisma.user.update({
where: {
id: 22,
},
data: {
name: 'taro'
}
})
// jobがTeacherかEngineerのuserを取得
prisma.user.findMany({
where: {
job: {
some: {
in: ['Teacher', 'Engineer']
}
},
}
})
感想
Prismaはプレビューの機能があったりまだまだ発展途上のORMだと感じましたが、すごく直感的に操作ができて使いやすかったです。
他の機能も使用する機会があれば追加していきます。
最後に
アルサーガパートナーズ Advent Calendar 2021 12日目は @1zushun さんのターンです。
↧