首页 > 代码库 > MongoDB笔记(一)
MongoDB笔记(一)
一、MongoDB的文档与集合
(1)文档
1.文档是MongoDB最核心的概念,本质上是一种类JSON的BSON格式的数据,BSON是一种类JSON的二进制格式数据,可以理解为在JSON上添加了一些新的数据类型,如日期,int32,int64等。BSON具有轻量性、可遍历性、高效性。
2.MongoDB中写操作的原子限制在文档级别。单个文档占用的存储空间不能超过16M(看不同的版本),如果太大那就得重新反思一下表模式设计。
3.MongoDB会尽量保持文档被插入时键值对的顺序。但更新操作会导致文档内存的重新分配。
4.文档键命名,_id是系统保留的关键字,他是默认的主键,唯一,且不可更改。键不能包含\0或者空字符,这个字符用于表示键的结尾。不能以$开头,不能包含.点号,键是区分大小写的且不能重复。
(2)集合
1.把一组相关的文档放到一起则形成集合。
2.MongoDB提供一些特殊的集合。
3.集合命名集合名不能是空字符串,不能\0(空字符),不能以system.开头,这是系统本身保留的不能有$ 但是可以包含.。
(3)数据库
1.多个集合组成数据库。每个数据库有独立的权限,一个MongoDB实例可以承载多个数据库,磁盘上不同数据库也可以放置在不同文件夹中(启动时加directoryperdb选项)。
2.命名不能是空字符串,不能以$开头,不能包含.和空字符串,区分大小写建议用小写。
二、MongoDB数据类型
BSON在JSON基础上添加了新数据类型,包括Date,正则表达式,对数值类型的更进一步划分等。
1.数值类型 MongoDB shell采用的是JavaScript的shell,而JavaScript只支持64位浮点数,如果需要int需要采用NumberInt()和Number Long()。
2.字符串类型 通过双引号可转换成utf-8编码。
3.二进制类型 可以保存任意字节组成的字符串,图片视频等。
4.正则表达式。
5.JavaScript代码 文档可以包含任意的JavaScript代码。
6.ObjectId 由24个16进制字符构成,总共由12字节组成,用来标识唯一机器。
7.内嵌文档
8.数组 使用方括号来表示的一组值,可以作为有序对象(列表、栈、队列)、也能作为无序对象(如集合)来操作,数组中可以包含不同数据类型的元素。针对数组MongoDB提供了许多特定的操作符,如$push,$pop等。MongoDB可以自动为数组元素提供Multikey索引。
三、MongoDB Shell
MongoDB Shell = JavaScript解释器+MongoDB客户端
(1)基本功能
1.执行JavaScript命令。
2.MongoDB客户端-基本命令。
连接/切换数据库 use jike;
数据插入 db.stu.insert(obj);
数据查询 db.stu.find(query);
数据更新 db.stu.update(query,obj);
数据删除 db.stu.remove(query);
(2)使用技巧
1.help 查看帮助。
2.执行脚本。
3.执行命令行程序。
4..mongorc.js文件使用。
本文出自 “12151108” 博客,转载请与作者联系!
MongoDB笔记(一)