4_prisma高级

发布时间 2023-10-17 22:23:13作者: MyKai

方法总结

查询:

  • findMany //查询多个
  • findUnique //查询单个

参数设置

{
  where:{
    // 查询条件
  },
  data:{
      // --新增:更新 携带的数据 
  }
}

分页查询

  • skip 偏移量 (从0开始)
  • take 查询记录的数量

查询字段限制 select

只返回对应的字段

      select:{
        name:true,
      },

过滤字段

  • equals 等于
  • not 不包含
  • in Array 数组包含
  • contains 包含 (模糊查询)
  • startWith/endWith 用什么开头 结尾
    • lt < le <=
  • eq == ne !=
  • gt > ge =>
{
    where:{
        id:{
          in:["101","102"]
        }
        age:{
            lt:30,
            gt:18
        }
    }
}

orderBy排序

asc :a-z升序排序
desc 降序排序

{
    orderBy:{
        id :"asc" 
    }
}

多表关系

  • 一对一 user:简历

  • 一对多 user:博客

  • 多对多 分类:博客

一对一


model User {
  id          String       @id @default(uuid())
  name        String       @unique
  email       String       @unique
  password    String
  createTime  DateTime     @default(now()) @map("create_time")
  updatedTime DateTime     @updatedAt
  profile Profile?
  @@map("user")
}
// 一对一
model Profile {
  id String @id @default(uuid())
  phone String @unique
  // 关系字段
  user User @relation(fields: [userId],references: [id])
  // 外键
  userId  String @unique @map("user_id")
}
  <!-- 完成映射 -->
 npx  prisma db push

一对一crud