MongoDB基本概念

                                      MongoDB基本概念

数据库

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. 不能包含\0字符(空字符),这个字符表示集合名的结束,也不能包含”$”
  3. 不能以”system.”开头,这是为系统集合保留的前缀

文档的键的命名规则

  1. 不能包含\0字符(空字符),这个字符表示键的结束
  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"}}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值