当前位置: 首页 > news >正文

【后端】ORM / ODM

长期不定期更新,建议关注收藏点赞。


概述

  • ORM(Object-Relational Mapping,对象关系映射):面向关系型数据库,ORM将对象映射到数据库的表和行(例如MySQL、PostgreSQL)。
  • ODM(Object Data Mapping,对象数据映射):面向非关系型数据库,ODM将对象映射到文档型数据库(例如MongoDB)的文档。
  • 如果你用的是 MongoDB ➜ 选择 ODM(Mongoose)
    如果你用的是 MySQL / PostgreSQL ➜ 选择 ORM(Prisma、Sequelize)
  • 对比
特性ORMODM
数据库类型关系型文档型(NoSQL)
数据结构表格JSON 文档
适合场景严格结构、复杂关系灵活结构、快速迭代
常用工具Sequelize, Prisma, TypeORMMongoose
学习曲线相对复杂(SQL)相对简单(更贴近 JS)

ORM

项目内容
全称Object-Relational Mapping
适用数据库关系型数据库(如 MySQL、PostgreSQL、SQLite)
数据结构表(Tables)、行(Rows)、列(Columns)
常用 Node.js 框架Sequelize、TypeORM、Prisma
使用场景使用结构化数据、有复杂关系(如一对多、多对多)的场景

ODM

项目内容
全称Object-Document Mapping
适用数据库文档型数据库(如 MongoDB)
数据结构文档(Document),类 JSON 结构
常用 Node.js 框架Mongoose
使用场景非结构化数据、灵活 schema、嵌套对象较多的场景

ODM(Object Data Mapping,对象数据映射)是指将应用程序中的对象(通常是面向对象编程语言中的对象)映射到数据库中的数据记录(尤其是文档型数据库)。ODM是ORM(Object-Relational Mapping,对象关系映射)的一种扩展,专门用于对象和非关系型数据库(如MongoDB)之间的映射。

  • ODM的基本概念:
    对象:应用程序中的数据结构,通常是一个类或实例,代表业务数据(如用户、订单、商品等)。
    数据:存储在数据库中的数据记录,例如MongoDB中的文档。
    映射:ODM通过将应用程序对象的属性和数据库记录之间建立映射关系,实现对象和数据之间的转换。
  • ODM的作用:
    提供高层抽象,简化了与数据库的交互。开发者可以像操作对象一样操作数据库。
    处理对象和数据库之间的数据转换,开发者不需要关心底层的SQL查询和数据存取方式。
    提供更方便的查询接口,使得文档型数据库的操作更符合面向对象编程习惯。
http://www.dtcms.com/a/120082.html

相关文章:

  • mysql里面的TIMESTAMP类型对应java什么类型
  • 微端服务器
  • 系统思考:问题诊断
  • CCF CSP 第35次(2024.09)(1_密码_C++)(哈希表)
  • CentOS禁用nouveau驱动
  • Scala安装
  • 业务流程管理系统有哪些优势?
  • 第7次:表单
  • 海康摄像头AI报警、移动侦测报警等通过Ehome/ISUP协议上报到LiveNVR流媒体平台时如何进行报警配置
  • JavaEE——线程的状态
  • uniapp大文件分包
  • python三大库之---pandas(二)
  • 正则表达式(一)
  • Spring Bean 生命周期简单代码说明
  • 实现腾讯云COS图片上传并确保可预览
  • haackmyvm-qweasd
  • 金融大模型
  • 射频前端从器件到模块简略
  • 【回眸】Linux 内核 (十三)进程间通讯 之 共享内存
  • QML Loader:加载组件与状态监控
  • ragflow开启https访问:ssl证书为pem文件,window如何添加证书
  • 电脑屏保壁纸怎么设置 桌面壁纸设置方法详解
  • PyTorch多GPU训练实战:从零实现到ResNet-18模型
  • ngx_cycle_modules
  • this指针 和 类的继承
  • Django异步执行任务django-background-tasks
  • 下一代智能爬虫框架:ScrapeGraphAI 详解
  • 第一章 react redux的学习,单个reducer
  • macOS Chrome - 打开开发者工具,设置 Local storage
  • nginx 代理 https 接口