findUnique()
where
에 맞는 데이터를 찾는다.
const user = await prisma.user.findUnique({
where: {
// ... 조건에 맞는 user를 찾음
}
})
upsert()
새 레코드를 생성하거나 기존 레코드를 갱신한다.
const user = await prisma.user.upsert({
create: {
// ... user가 없다면 데이터 생성
},
update: {
// ... user가 있다면 데이터 갱신
},
where: {
// ... 조건에 맞는 user 찾음
}
})
// email 또는 phone으로 가입할 경우
const login = email ? {email} : {phone:+phone}
const user = await prisma.user.upsert({
create: {
name: "익명",
...login,
},
update: {},
where: {
...login,
}
})
unique 속성을 지정해 레코드를 연결한다.
// user와 관계된 Token
const Token = await prisma.token.create({
data: {
tokens: "1234",
user: {
connect: {
id: user.id, // user id와 연결해 생성
},
},
}
})
unique 속성을 지정해 레코드를 연결하거나 존재하지 않을 경우 새 레코드를 생성해 연결한다.
const Token = await prisma.token.create({
data: {
tokens: "1234",
user: {
connectOrCreate: {
// upsert() 문법과 결합해 사용 가능
create: {
name: "익명",
...login,
},
where: {
...login,
}
},
},
}
})
조건에 맞는 관계된 레코드를 포함할 것인지 여부를 정한다.
// "1234" 토큰과 관계된 user 레코드를 포함함.
const user = await prisma.user.findUnique({
where: {
tokens: "1234",
},
include: { user: true },
})
조건에 맞는 여러 레코드를 삭제한다.
const { count } = await prisma.token.deleteMany({
where: {
tokens: "1234", // 토큰이 1234인 prisma의 토큰을 삭제함
}
})