Kra*_*ier 10 javascript mysql orm express prisma
如何使用 prisma 从表中选择所有内容?(从应用程序中选择 *)
const applications = prisma.application.findMany({
// Returns all user fields
include: {
posts: {
select: {
age: true,
about_section: true,
user_id: true
},
},
},
})
console.log(applications.age)
Run Code Online (Sandbox Code Playgroud)
我的架构如下所示:
model application {
application_id Int @id @default(autoincrement())
age String? @db.VarChar(255)
about_section String? @db.VarChar(255)
user_id Int?
users users? @relation(fields: [user_id], references: [user_id], onDelete: Restrict, onUpdate: Restrict, map: "application_ibfk_1")
@@index([user_id], map: "user_id")
}
Run Code Online (Sandbox Code Playgroud)
对于行,findMany()没有where将返回表中的所有行:
获取所有记录
以下 findMany 查询返回所有用户记录:
const users = await prisma.user.findMany()
Run Code Online (Sandbox Code Playgroud)
对于列/字段,如果不指定include或select,prisma 有一个默认值:
默认情况下,当查询返回记录(而不是计数)时,结果包括默认选择集:
- Prisma 模式中定义的所有标量字段(包括枚举)
- 没有任何关系
对于SELECT * FROM application(不包括users关系):
const applications = await prisma.application.findMany();
Run Code Online (Sandbox Code Playgroud)
为了进一步users在模型中包含关系:
const applications = await prisma.application.findMany({
include: {
users: true // will include all fields
}
});
Run Code Online (Sandbox Code Playgroud)