数据库
MongoDB的一个实例可以拥有一个或多个相互独立的数据库,每个数据库都有自己的集合
 
集合
集合可以看作是拥有动态模式的表
 
文档
文档是MongoDB中基本的数据单元,类似于RDB的行。
文档是键值对的一个有序集合。在JS中,文档被表示成对象。
 
_id
每个文档都有个特殊的“_id”,在文档所属集合中是唯一的
 
JavaScript shell
MongoDB自带了一个功能强大的JavaScript Shell,可以用于管理或操作MongoDB
②MongoDB和RDB的一些对比

1:都有数据库的概念

2:集合--〉RDB的表

3:文档--〉RDB表中的一条记录

4:文档对象里面的key --〉RDB表中的字段

5:文档对象里面的value--〉RDB表中字段的值

6:MongoDB中没有主外键的概念

③数据库名称定义规则

1:不能是空串

2:不得含有/、\、?、$、空格、空字符等等,基本只能使用ASCII中的字母和数字

3:区分大小写,建议全部小写

4:最多为64字节

5:不得使用保留的数据库名,比如:admin,local,config

注意:数据库最终会成为文件,数据库名就是文件的名称

④集合名称定义规则

1:不能是空串

2:不能包含字符(空字符),这个字符表示集合名的结束,也不能包含”$”

3:不能以”system.”开头,这是为系统集合保留的前缀

⑤文档的键的定义规则

1:不能包含字符(空字符),这个字符表示键的结束

2:“.”和“$”是被保留的,只能在特定环境下用

3:区分类型,同时也区分大小写

4:键不能重复

注意:文档的键值对是有顺序的,相同的键值对如果有不同顺序的话,也是不同的文档

⑥MongoDB基本的数据类型
数据类型 描述 举例
null 表示空值或者未定义的对象 {"x":null}
布尔值 true或者false {"x":true}
32位整数 shell不支持该类型,默认会转换成64位浮点数,也可以使用NumberInt类 {“x”:NumberInt(“3”)}
64位整数 shell不支持该类型,默认会转换成64位浮点数,也可以使用NumberLong类 {“x”:NumberLong(“3”)}
64位浮点数 shell中的数字就是这一种类型 {"x":3.14,"y":3}
字符串 UTF-8字符串 {"foo":"bar"}
符号 shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串  
对象id 文档的12字节的唯一id {"id": ObjectId()}
日期 从标准纪元开始的毫秒数 {"date":new Date()}
正则表达式 文档中可以包含正则表达式,遵循JavaScript的语法 {"foo":/foobar/i}
代码 文档中可以包含JavaScript代码 {"x":function() {}}
未定义 undefined  {"x":undefined}
数组 值的集合或者列表 {"arr": ["a","b"]}
内嵌文档 文档可以作为文档中某个key的value  {"x":{"foo":"bar"}}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  1. [React] 04 - Intro: mongoDB becomes popular

    Ref: Linux平台安装MongoDB - 菜鸟教程 安装:sudo apt-get install mongodb 安装完毕产生: ls /etc/init.d/mongodb 配置:vim / ...

  2. 异步编程系列第04章 编写Async方法

    p { display: block; margin: 3px 0 0 0; } --> 写在前面 在学异步,有位园友推荐了<async in C#5.0>,没找到中文版,恰巧也想提 ...

  3. mongodb基本概念解析

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

  4. Ubuntu16.04安装mongodb

    Ubuntu16.04安装mongodb copy from: http://blog.csdn.net/zhushh/article/details/52451441 1.导入软件源的公钥 sudo ...

  5. 003.MongoDB主要概念

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

  6. Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  7. Ubuntu 18.04安装MongoDB 4.0(社区版)

    Ubuntu 18.04(虚拟机VirtualBox上),MongoDB 4.0, 听室友说,23点有世界杯决赛呢!可是,孤要写博文的啊!以记录这忙乱的下午和晚间成功安装了一个软件到Linux上.—— ...

  8. Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  9. &lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第04章 | 字典

    第04章:字典 当索引不好用时 Python唯一的内建的映射类型,无序,但都存储在一个特定的键中.键能够使字符.数字.或者是元祖. ------ 字典使用: 表征游戏棋盘的状态,每一个键都是由坐标值组 ...

  10. Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...

随机推荐

  1. Practice 10

    通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口. settext是根据数组新建的pets[1]object来的,对其调用抽象方法talk, ...

  2. [leetcode]210. Course Schedule II课程表II

    There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prereq ...

  3. Java构建指定大小文件

    Java快速创建指定大小的文件,最多的解决办法就是循环向文件里面入固定大小的空字节,但是这种方式构建大文件性能比较低下,因此有这样两种方式可供参考: Java有一个类:FileChannel,查阅AP ...

  4. golang 创建一个简单的资源池,重用资源,减少GC负担

    package main; import ( "sync" "errors" "fmt" ) //代码参考<Go语言实战>中第7 ...

  5. gson所需jar包

    共需要四个jar包,分别为: gson-2.0.jar log4j-1.2.17.jar slf4j-api-1.7.10.jar slf4j-log4j12-1.7.10.jar 如果想要进行文件读 ...

  6. log4net引用了Mysql.Data.dll,但是就是不能写到mysql数据库的解决办法

    这两天遇到log4net写日志到mysql数据库中,有时候在A项目中可以,有时候B项目就有问题,有时候测试环境没问题,到正式部署环境又出问题,经过两天的煎熬,终于理清楚了其中的头绪. 1.配置现状 c ...

  7. Java中的forin语句

    forin的原理 forin语句是JDK5版本的新特性,在此之前,遍历数组或集合的方法有两种:通过下标遍历和通过迭代器遍历.先举个例子: @Test public void demo() { Stri ...

  8. BZOJ2730 [HNOI2012]矿场搭建 - Tarjan割点

    Solution 输入中没有出现过的矿场点是不用考虑的, 所以不用考虑只有 一个点 的点双联通分量. 要使某个挖矿点倒塌, 相当于割去这个点, 所以我们求一遍割点和点双联通分量. 之后的点双联通分量构 ...

  9. ubuntu12.04下安装Apache+PHP+MySQL

    一.Apache1.安装apache2: sudo apt-get install apache2 2.重启apache2: sudo /etc/init.d/apache2 restart 3.在浏 ...

  10. websocket activemq

    websocket:应用与服务端保持长连接 不停通信 activemq:偶发通信  心跳机制