数据库
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"}}
 

转载于:https://www.cnblogs.com/Lucky-stars/p/10546880.html

第04章:MongoDB基本概念相关推荐

  1. 【正点原子Linux连载】第一章 应用编程概念-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  2. 《Scikit-Learn与TensorFlow机器学习实用指南》 第04章 训练模型

    (第一部分 机器学习基础) 第01章 机器学习概览 第02章 一个完整的机器学习项目(上) 第02章 一个完整的机器学习项目(下) 第03章 分类 第04章 训练模型 第05章 支持向量机 第06章 ...

  3. 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第04章 编写结构化程序

    第04章 编写结构化程序 4.1 回到基础 赋值 等式 条件语句 4.2 序列 序列类型上的操作 合并不同类型的序列 产生器表达式 4.3 风格的问题 过程风格与声明风格 计数器的一些合理用途 4.4 ...

  4. 第10章 MongoDB 删除数据库教程

    MongoDB 删除database 语法 MongoDB 删除database的语法格式如下: db.dropDatabase() 删除当前database,默认为 test,尊敬的读者您可以使用 ...

  5. 第46章 MongoDB 自动增长教程

    第46章 MongoDB 自动增长教程 MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的12字节唯一标识. 但在某些情况下,咱们可能需要实现 Obj ...

  6. 第04章 逻辑架构【1.MySQL架构篇】【MySQL高级】

    第04章 逻辑架构 前言 推荐 第04章 逻辑架构 1. 逻辑架构剖析 1.1 服务器处理客户端请求 1.2 Connectors 1.3 第1层:连接层 1.4 第2层:服务层 1.5 第3层:引擎 ...

  7. xcode江湖录-第04章 风水宝地--界面生成器之StoryBoard简单示例 与 约束

    第04章风水宝地--界面生成器之StoryBoard简单示例 ??如何设置转场动画?? ??如何在参与到转场动作中?? ??如何让页面跳转到自定义VC?? ??如何设置自定义跳转模式?? ??如何用S ...

  8. 公开课视频-《第04章 部署-Microsoft-服务器虚拟化-Hyper-V 2012 R2》

    公开课报名: <大企业云桌面部署实战>-公开课 https://ke.qq.com/course/136167#term_id=100152811 视频: 链接:http://pan.ba ...

  9. mysql的实验环境_第04 章 MYSQL实验环境创建

    第04 章 MYSQL实验环境创建 一.下载MY https://dev.mysql.com/downloads/file/?id=476476 1.1 Oracle http://www.oracl ...

  10. 第一章 MongoDb概述

    版本修改历史 版本 修改内容 修改人 日期 1.0 创建文档 李乐 2010-6-30 第一章 MongoDb概述 集文档数据库,键值对存储和关系型数据库的优点于一身. MongoDB (名称来自&q ...

最新文章

  1. typescript 入门例子 Hello world——ts就是一个宿主机语言
  2. 基于eclipse创建android的helloworld工程
  3. NeurIPS 2021 | 通过寻找平坦最小值,克服小样本增量学习中的灾难性遗忘
  4. Defuse the Bombs Gym - 102822D
  5. html5的新标记,HTML5 新标记
  6. matlab求偏微分方程程序,用MATLAB解偏微分方程.pdf
  7. Flink on Hive构建流批一体数仓
  8. 帮你快速拿Offer!渣本逆袭大厂面经分享
  9. 关于修改android studio的gradle目录
  10. PHP字符串转数字面试,浅谈php字符串反转 面试中经常遇到的问题
  11. gsp计算机管理制度,GSP飞检项目——质量体系文件
  12. eyoucms分页通用css样式
  13. 机器学习模型训练全流程!
  14. 中国人民银行招聘计算机考什么,求中国人民银行招聘计算机专业人员的考试题。...
  15. 【微信小程序---如何引入阿里巴巴图标步骤】
  16. JavaScript 中的“黑话”,你知多少?
  17. Apple Sign in with Apple(苹果授权登录PHP)
  18. CloudCore引领核心网云化转型
  19. 《Kubernetes知识篇:基于Pod进行资源配额管理》
  20. 安装sentinel LDK 驱动

热门文章

  1. go 中的关于命令行格式的使用
  2. python 截取字符串的某一个字符
  3. python截取某一段文字分栏_Python文本数据互相转换(pandas and win32com)
  4. 直线检测原理matlab,Hough变换 直线检测原理及其Matlab实现
  5. 一个博友的SQL问题解决过程
  6. spring boot 拦截器 或 Spring AOP 方式记录请求日志
  7. 安卓自定义控件的原理
  8. Material Dialogs
  9. oracle HWM
  10. [转载] 非诚勿扰2