数据库
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. css定位研究

    css的定位是很重要的一个知识点,要学会网页布局,一定要先把定位弄清楚,今天抽空整理一下这方面的知识. 1.块级元素和行内元素(内联元素) 块级元素:display值为block的元素就是块级元素,比 ...

  2. jenkins如何获取text parameter多行的文本内容

    如果是string的插件 可以直接获取 但text的不可以 如果用 echo %aaa% 这种方式进行打印的话 会发现只打印了第一行 最后的解决方案: 使用了python脚本 在python脚本里通过 ...

  3. (转)Android学习-使用Async-Http实现图片压缩并上传功能

    (转)Android学习-使用Async-Http实现图片压缩并上传功能 文章转载自:作者:RyaneLee链接:http://www.jianshu.com/p/940fc7ba39e1 让我头疼一 ...

  4. grep如何进行正则表达式查找

    字符类 字符类的搜索:如果我想要搜寻 test 或 taste 这两个单字时,可以发现到,其实她们有共通的 't?st' 存在-这个时候,我可以这样来搜寻: [root@www ~]# grep -n ...

  5. Codeforces 749D. Leaving Auction set+二分

    D. Leaving Auction time limit per test: 2 seconds memory limit per test:256 megabytes input:standard ...

  6. Javascript的一个怪现象

    javascript有一个怪现象,就是减法也会导致小数位数问题,是一个麻烦的问题,比如. <html><script> var a=10,b=20.1; alert( a - ...

  7. 大神的P图过程!快来偷窥!

    来自美国的艺术家James(@jameasons) 平时我们总是能看到一些大神合成出这样的图片, 但是他们P图的过程是怎样的,很多人都是不知道的. 接下来再看看这位大神的其他作品, 如果你看了上面视频 ...

  8. django添加装饰器

    引入模块: from django.utils.decorators import method_decorator 添加:@method_decorator(func) from django.ut ...

  9. post方式发送请求报文

    $url="http://www.test.com/04_demo_weather.php?id=5"; $ci=curl_init($url); curl_setopt($ci, ...

  10. Java界面编程—布局管理

    布局是指容器中组件的排列方式 常用的布局管理器 布局管理器名称 所属类包 说明 FlowLayout(流式布局) java.awt 组件按照加入的先后顺序.按照设置的对齐方式从左向右排列,一行排满后到 ...