MongoDB是一种强大灵活可扩展的数据存储方式,它扩展了关系数据库的众多功能。MongoDB的功能非常丰富,但是却非常容易上手和便于使用,今天来了解一下MongoDB的主要概念。

文档

文档是的核心概念。多个键机器关联的值有序的放置在一起便是文档。不同的语言表示文档的方法可能不一样,但是数据结构都是相通的。比如在Javascript中,可以使用json格式表示文档:

{“name”:”wufengtinghai”,”sex”:”m”,”age”:28}

此文档中有两个键值对,实际使用中一般会比这个要复杂一些。需要注意的是:

      1. 文档中的键值对是有顺序的,不同的顺序表示不同的文档。

      2. 文档中的值可以支持多种类型,比如nameage的值分别为字符串和数字。

      3. 文档中的键一般是字符串,但是不能包含\0(空字符),空字符表示键的结尾。

      4. 不能包含.$两种保留字符,同时也不能以下划线开头。

集合

集合是文档的容器,可以将其视为关系数据库中的表。

      1. 集合是无模式,也就是说集合可以存储不同类型的文档。

      1. 集合的名字不能是空字符串。

      1. 集合名字中不能包含空格(\0),其作为集合名字的结尾。

      2. 集合名字不能以system.开头,此是为系统集合保留的关键字。

      3. 集合名字不能包含$

数据库

多个文档构成集合,同样多个集合构成数据库。

      1. 一个Mongon实例可以承载多个数据库。

      2. 不同的数据库使用不同的文件存储数据,使用单独的权限控制。

      3. 数据库名字不能包含空字符串。

      4. 数据库名不能包含‘’(空格).(实心点),/\\0(空字符)。

      5. 数据库名字应该小写,不超过64个字节。

      6. 不能是系统数据库的保留字(adminLocalConfig).

MongoDB基本概念的更多相关文章

  1. mongodb基本概念解析

    MongoDB 概念解析 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档.集合.数据库,下面我们挨个介绍. 下表将帮助您更容易理解Mongo中的一些概念: SQL术 ...

  2. 003.MongoDB主要概念

    一 对比关系 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行 ...

  3. (二)MongoDB基本概念

    (二)MongoDB基本概念 mongodb 2018年03月07日 08时43分53秒 mognoDB是一个面向文档的数据库,而不是关系型数据库,是不是用关系型数据库主要是为了获得更好的扩展性,还会 ...

  4. 《mongoDB》概念-数据类型

    一:概念 - mongoDB 是一个面向文档的数据库,而不是关系型数据库. - 摘自<mongoDB 权威指南 第2版>第3页 二:数据类型 - null - 用于表示空值或者不存在的字段 ...

  5. 第04章:MongoDB基本概念

    ① 数据库 MongoDB的一个实例可以拥有一个或多个相互独立的数据库,每个数据库都有自己的集合   集合 集合可以看作是拥有动态模式的表   文档 文档是MongoDB中基本的数据单元,类似于RDB ...

  6. MongoDB快速入门学习笔记2 MongoDB的概念及简单操作

    1.以下列举普通的关系型数据库和MongoDB数据库简单概念上的区别: 关系型数据库 MongoDB数据库 说明 database database 数据库 table collection 数据库表 ...

  7. MongoDB基本概念和安装配置

    基本概念 MongoDB直接存储JSON. 有了NoSQL数据库之后,可以直接在业务层将数据按照指定的结构进行存储. NO SQL NoSQL 1 数据库 数据库 2 表 集合 3 行 文档 4 列 ...

  8. SpringBoot中MongoDB注解概念及使用

    spring-data-mongodb主要有以下注解 @Id 主键,不可重复,自带索引,可以在定义的列名上标注,需要自己生成并维护不重复的约束.如果自己不设置@Id主键,mongo会自动生成一个唯一主 ...

  9. MongoDB 基本概念

    MongoDB和关系型数据库的对应关系 关系数据库 MongoDB 数据库   database 数据库   database 表格  table 集合  collection 行  row 文档  ...

随机推荐

  1. 项目名 的在JSP或JAVA中的另类写法

    在JSP页面中${pageContext.request.contextPath } 表示项目名<form action="${pageContext.request.contextP ...

  2. vim总结

    1.vim基础用法 注:该思维导图来自笔者<Linux就该这么学>读书笔记. 移动光标: 命令 描述 k 向上移动光标(移动一行) j 向下移动光标(移动一行) h 向左移动光标(移动一个 ...

  3. sin, miss the mark, correct our aim and try again

    Guilt should only be a call to action. When we see that we "missed the mark"(the meaning o ...

  4. CSS BOX模型

    对于box模型概念的理解以及它与决定元素最终尺寸的方式有何关系,是理解如何设定网 页上的元素位置的基础.box模型应用到块级元素.一个随之而来的概念,内联布局模型 定义了如何设定内联元素的位置. 对于 ...

  5. HDU 5183 Negative and Positive (NP) ——(后缀和+手写hash表)

    根据奇偶开两个hash表来记录后缀和.注意set会被卡,要手写hash表. 具体见代码: #include <stdio.h> #include <algorithm> #in ...

  6. html--第一章 基础知识总结

    1--<body bgcolor="red">背景颜色 2--<body backgroud="back-ground.gif">  背 ...

  7. 循序渐进Python3(四) -- 装饰器、迭代器和生成器

    初识装饰器(decorator ) Python的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数. 使用 decorator 用Python提供的 @ 语法 ...

  8. redis密码管理

    redis 默认密码是空,在应用中,通常需要设置redis的连接密码,可通过命名方式进行密码管理: 1.连接redis: [redis@hadooptest Downloads]$ cd redis- ...

  9. UzysAssetsPickerController中文化

    self.labelSelectedMedia.text = NSLocalizedStringFromTable(@"Choose a media", @"UzysAs ...

  10. zzuliOJ 1904小火山的股票交易;

    #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; # ...