前言

简单整理一下mongodb的设计。

正文

设计三步曲:

第一步:建立基础文档模型

例子:

1对1建模:

1 对多建模:

N对N模型:

第二步: 根据读写况细化

遇到的问题:



解决:

查询连表:

遇到的问题:

什么时候使用引用类型:

引用设置限制:

模式套用:

例子:

遇到的问题:

存储问题:

分桶设计:



小节:

设计模式的整理:

  1. 大文档,很多字段,很多索引

列转行:

索引建立:

  1. 版本不同:

增加一个版本字段:

  1. 统计网页流量,更新太频繁。

  1. 精确度高,量大

预聚合:

下一节 事务。

mongodb基础整理篇————设计[四]的更多相关文章

  1. mongodb基础整理篇————简单介绍[一]

    前言 简单介绍一下文档数据库. 正文 mongodb 是一个以json为数据模型的文档数据库. 这里要介绍一下什么是json.因为有些人认为'{a:1,b:2}' 是json,而"this ...

  2. mongodb基础整理篇————常规操作[二]

    前言 简单整理一下常规操作. 正文 虽然一般说写代码看的是思想,但是呢,如果不知道mongodb 有哪些常用的操作,那么你怎么能知道mongodb是否符合你的需求,比如说如果聚合功能都没有,你得自己写 ...

  3. mongodb基础整理篇————副本概念篇[外篇]

    前言 副本集整理. 开始逐步把mongodb博客补齐了. 正文 什么是副本集 副本集是一组服务器,其中一个是用于处理写入操作的主节点,还有多个用于保存主节点的数据副本的从节点. 如果主节点崩溃了,则从 ...

  4. MongoDB基础教程系列--第四篇 MongoDB 查询文档

    查询文档 查询文档可以用 find() 方法查询全部文档,可以用 findOne() 查询第一个文档,当然还可以根据 条件操作符 和 $type操作符 查询满足条件的文档. find() 和 find ...

  5. python基础整理笔记(四)

    一. python 打开文件的方法 1. python中使用open函数打开文件,需要设定的参数包括文件的路径和打开的模式.示例如下: f = open('a.txt', 'r+') 2. f为打开文 ...

  6. MongoDB基础一篇就够了

    MongoDB linux安装MongoDB Windows安装MongoDB 查看当前数据库名称 db 查看所有数据库名称 列出所有在物理上存在的数据库 show dbs 切换数据库 如果数据库不存 ...

  7. 每周一书-《鸟哥的Linux私房菜基础学习篇(第四版)》台湾原版,你想要吗?

     首先说明,本周活动有效时间为2016年10月19日到2016年10月31日.   目在介绍这本书之前,首先要感谢QQ号为:1084830483(路在远方),来自哈尔滨工程大学的同学赠送给玄魂工作室的 ...

  8. Linux学习初级篇-鸟哥的Linux私房菜 基础学习篇(第四版)

    0.1.2 一切设计的起点:CPU的架构 由于CPU的内部是有一些微指令组成的,所以我们所使用的软件都是要经过CPU内部的微指令集来达成才行.那这些指令集的设计主要又被分为两种设计理念,这是目前世界上 ...

  9. JS基础入门篇(四十三)—ES6(二)

    1.对象简洁表示法 原来写法 var name = "lzf"; var gender = "male"; var fn = function(){consol ...

  10. JS基础入门篇(四)—this的使用,模拟单选框,选项卡和复选框

    1.this的使用 this js中的关键字 js内部已经定义好了,可以不声明 直接使用 this的指向问题 1. 在函数外部使用 this指向的是window 2. 在函数内部使用 有名函数 直接调 ...

随机推荐

  1. Java 创建类,对象+调用方法

    1 //测试类 2 public class PersonTest 3 { 4 public static void main(String[] args) 5 { 6 //创建Person类的对象 ...

  2. Codeforces Round 113 (Div. 2)E. Tetrahedron(dp、递推)

    目录 题面 链接 题意 题解 代码 总结 题面 链接 E. Tetrahedron 题意 从一个顶点出发走过路径长度为n回到出发点的方案总数 题解 考虑dp \(f[i][0|1|2|3]\):走了i ...

  3. C1. Good Subarrays (Easy Version)

    思路:我们枚举每一个左端点,对于每一个左端点,寻找最长的满足条件的区间,这个区间长度就是左端点对答案的贡献,可以发现具有单调性,右端点只会前进不会倒退.所以我们两个指针各扫一遍区间就可以. #incl ...

  4. Redis队列优先级的实现方案

    场景 通常使用 list 来实现队列操作,所有的任务统一都是先进先出的原则,如果想优先处理某个任务就不太合适,这个时候就需要让队列有优先级的概念,实现方式有以下两种方式: 单一列表实现 队列正常的操作 ...

  5. 树形dp套路

    我们知道dp也就是动态规划的思想就是先解决小问题,通过不断的解决小问题,最终解决大问题.那么能够应用树形dp套路的题目都应该符合一个条件,那就是通过解决每个子树的小问题,最终解决整棵树的大问题. 套路 ...

  6. [学习笔记]PostgreSQL数据库的安装和配置

    安装 安装源 yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat ...

  7. Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件

    Template String Converter - 字符串中加变量 自动将单引号变换 - vscode插件

  8. Python中的join()函数的用法实例分析

    一.join()函数 语法:  'sep'.join(seq) 参数说明sep:分隔符.可以为空seq:要连接的元素序列.字符串.元组.字典上面的语法即:以sep作为分隔符,将seq所有的元素合并成一 ...

  9. RunOnWeb - 创建新协议,支持html调用本地可执行文件,支持浏览器互相调用

    浏览器调用 exe ?    Yes!  谷歌 Chrome 启动微软 Edge ?     Yes! RunOnWeb 协议 创建新协议,支持html调用本地可执行文件,支持浏览器互相调用 [最新版 ...

  10. 捉虫日记 | MySQL 8.0从库某些情况下记录重放的CREATE TABLE、DROP TABLE语句到慢日志(slow log)

    作者:卢文双 资深数据库内核研发 本文首发于 2023-11-30 20:47:35 https://dbkernel.com 问题描述 当主从复制采用 binlog 的行模式时,如果从库启用 slo ...