返回顶部
首页 > 资讯 > 数据库 >mongodb中的数据建模
  • 565
分享到

mongodb中的数据建模

2024-04-02 19:04:59 565人浏览 薄情痞子
摘要

一对一的关系:Embed,比如用户信息集合有Address字段,Address字段有省、市、县三个字段。建模如下:一对多关系:一篇文章有多条评论,为1对多关系由于mongoDB对单个文档(document)

一对一的关系:Embed,比如用户信息集合有Address字段,Address字段有省、市、县三个字段。建模如下:

mongodb中的数据建模

mongodb中的数据建模

一对多关系:一篇文章有多条评论,为1对多关系

mongodb中的数据建模mongodb中的数据建模

由于mongoDB对单个文档(document)有大小限制16M(高于v1.8),设计时也要将这个限制纳入考虑中。

多对多关系:学生和课程是多对多的关系,一个学生可以选多门课程,一门课程有多名学生参与。

mongodb中的数据建模

多对多使用了连接(Linking),连接是通过引用(References)来连接两个集合。MonGoDB References有两种:一种是 手动引用(Manual References),另一种是DBRefs。

Manual References:

mongodb中的数据建模(user集合)

mongodb中的数据建模(post集合)

红框地方就是Manual References,如果想查询一篇文章的作者信息,首先在post集合找出那篇文章,然后在user集合查找出用户的全部信息。但是假如有这么一个场 景:用户可以对图片,文章等各种资源评论,所有的评论都放在comment集合中,如果只是使用Manual References,就分不清楚评论到底是属于哪类资源了,图片?文章?。所以有了DBRef。

DBRef的形式:

{ $ref : <value>, $id : <value>, $db : <value> }

$ref:集合名称;$id:引用的id;$db:数据库名称,可选参数。

可以看到DBRef的结构比Manual References的复杂,占用的空间大,但是功能也强大,如果要跨数据库连接,上面讲的评论集合的例子,都得需要使用DBRef,MongoDB提供 了函数来解析DBRef,不用像Manual References需要自己手动写两次查询。

mongodb中的数据建模

关于MongoDB的数据建模MongoDB官网也给出了一些建议。这些建议都是提供了一些参考,实际建模需要根据具体的需求来分析,分析数据经常会执行哪些操作(排序,查找,修改)来选择Embed和Link。


您可能感兴趣的文档:

--结束END--

本文标题: mongodb中的数据建模

本文链接: https://lsjlt.com/news/42147.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mongodb中的数据建模
    一对一的关系:Embed,比如用户信息集合有Address字段,Address字段有省、市、县三个字段。建模如下:一对多关系:一篇文章有多条评论,为1对多关系由于MongoDB对单个文档(document)...
    99+
    2024-04-02
  • MongoDB数据建模怎么实现
    在MongoDB中,数据建模是通过设计文档结构来实现的。以下是一些MongoDB数据建模的最佳实践: 嵌套文档:利用MongoD...
    99+
    2024-05-07
    MongoDB
  • mongodb怎么新建数据
    要在MongoDB中新建数据,你可以使用`insertOne()`或`insertMany()`方法。如果你要插入单个文档,可以使用...
    99+
    2023-09-01
    mongodb
  • 简要介绍MongoDB的数据模型
        MongoDB数据是特别灵活的,与SQL数据库相比,它不需要在插入数据前先定义表的结构。MongoDB的集合不强调固定的文档结构。这种灵活性使它能够轻松映射文档结构。每一个文档都...
    99+
    2024-04-02
  • MongoDB 中使用模式构建之属性模式的
    小编给大家分享一下MongoDB 中使用模式构建之属性模式的,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!简单描述:直接进入了解属性模式。它特别适合以下的情况:有一个大的文档,但是它其实拥...
    99+
    2024-04-02
  • mongodb的数据库表怎么创建
    MongoDB是一个文档数据库,不使用传统的表和行的概念,而是使用集合(collection)和文档(document)的概念。要创...
    99+
    2023-08-24
    mongodb 数据库
  • mongodb创建的数据库在哪里
    mongodb 数据库的数据存储在指定的数据目录中,该目录可以位于本地文件系统、网络文件系统或云存储中,具体位置如下:本地文件系统:默认路径为 linux/macos:/data/db,...
    99+
    2024-04-08
    linux mongodb macos 数据丢失
  • mongodb如何创建数据库
    mongodb创建数据库的方法:在mongodb中创建数据库可以使用use方法,语法格式:“use 数据库名”,例如:“use yisu”创建一个名为yisu的数据库,如果在mongodb中该数据库不存在,则创建数据库,否则切换到指定数据库...
    99+
    2024-04-02
  • mongodb怎么创建数据库
    mongodb中创建数据库的方法:在mongodb中创建数据库可以使用use方法,语法格式:“use 数据库名”,例如:“use yisu”创建一个名为yisu的数据库,如果在mongodb中该数据库不存在,则创建数据库,否则切换到指定数据...
    99+
    2024-04-02
  • 怎么创建mongodb数据库
    要创建一个MongoDB数据库,您需要按照以下步骤进行操作: 安装MongoDB:首先,您需要安装MongoDB数据库软件。您可...
    99+
    2024-04-09
    mongodb
  • Cassandra数据建模
    1.  概述 Apache Cassandra将数据存储在表中,每个表都由行和列组成。CQL(Cassandra查询语言)用于查询存储在表中的数据。Apache Cassandra数据模型基于查询并针对查询进行了优化。Cassan...
    99+
    2019-01-28
    Cassandra数据建模
  • 在MongoDB中创建和删除数据库的方法
    小编给大家分享一下在MongoDB中创建和删除数据库的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、在MongoDB中创建数据库列出数据库:首先检查系统中的当前数据库。首先我们应该知道...
    99+
    2024-04-02
  • MongoDB中怎么优化大规模数据迁移
    在MongoDB中优化大规模数据迁移的过程,可以通过以下几种方式来实现: 使用批量操作:在进行数据迁移时,可以使用MongoDB...
    99+
    2024-04-19
    MongoDB
  • 数据库中数据建模是什么意思
    这篇文章主要介绍了数据库中数据建模是什么意思,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。什么是数据库设计?数据库设计是一系列流程,有助于企业数...
    99+
    2024-04-02
  • Centos系统搭建MongoDB数据库
    目录Docker 方式部署下载镜像检查是否下载成功,查看dockers镜像运行docker容器参数解析数据持久化Docker 方式部署 docker search mongo # 查...
    99+
    2024-04-02
  • Golang在数据建模中的关键特性
    go 语言在数据建模中凭借以下特性脱颖而出:静态类型系统,避免运行时错误;接口机制,实现类型之间的解耦;goroutine 并发,提高处理效率。实战案例中,使用 go 语言实现了一个简单...
    99+
    2024-05-09
    golang 数据建模
  • 使用Djongo模块在Django中使用MongoDB数据库
    目录一、安装与配置二、定义模型三、生成模型四、访问Django Admin五、操作数据六、最后一、安装与配置 Djongo的项目官方地址为:https://nesdis.githu...
    99+
    2024-04-02
  • mongodb创建数据库的方法是什么
    在MongoDB中创建数据库的方法是使用use命令。通过在MongoDB shell中输入use命令,然后指定要创建的数据库名称,M...
    99+
    2024-04-09
    mongodb 数据库
  • mongodb数据库怎么创建索引
    小编给大家分享一下mongodb数据库怎么创建索引,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、索引命令创建索引db.stu.ensureIndex({“name”:1})创建唯一索引db.stu.ensureInde...
    99+
    2023-06-14
  • 怎么给mongodb创建数据文件
    要给MongoDB创建数据文件,可以按照以下步骤进行操作:1. 打开命令行工具或终端。2. 导航到MongoDB的安装目录。如果Mo...
    99+
    2023-08-24
    mongodb
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作