Mongodb学习笔记(一)

这篇博客介绍了MongoDB的基础知识,包括其非关系型数据库的特点、优势和不足,以及MongoDB的基本概念,如文档、集合和数据库。文章还详细阐述了MongoDB的启动、索引创建、备份恢复、导入导出、固定集合、安全认证、主从复制和副本集的概念。最后,讨论了MongoDB的分布式存储——分片,以及分片设置的步骤。
摘要由CSDN通过智能技术生成

一、首先,nosql:not only sql,指的是非关系型数据库。

关系型数据库中的表都是存储一些结构化的数据,每条记录的字段的组成都一样,即使不是每条记录都需要所有的字段,但数据库会为每条数据分配所有的字段。而非关系型数据库以键值对(key-value)存储,它的结构不固定,每一条记录可以有不一样的键,每条记录可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。 

结构化数据:固定的长度,固定的类型,固定的格式

非结构化的数据如avi,ppt,doc等


二、非关系型数据库的优点:

1.简单的扩展(以键值对的方式存储,结构比较灵活)

比如要在关系型数据库中为某一个记录扩展一个字段很不方便,必须要改表结构,而非关系数据库结构不固定,每条记录可以有不一样的键,可以根据需要增加一些自己的键值对

2.快速的读写

3.低廉的成本

4.灵活的数据模型

缺点:

1.不提供对SQL的支持

2.支持的特性不够丰富(比如没有事物的这些概念)

3.现有的产品不够成熟(相对于关系型数据库而言)


三、Mongodb中基本概念介绍:

文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行(但是比行要复杂的多)


集合(collection)就是一组文档,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同表


MongoDB的单个计算机可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限


MongoDB自带简洁但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大


每一个文档都有一个特殊的键"_id",它在文档所处的集合中是唯一的,相当于关系数据库中的表的主键


MongoDB数据类型有个比较特殊的地方:

mysql中是不能存放数组的,最多只能拼接成字符串存放进去,而Mongodb可以存放数组和内嵌文档:

数组           值的集合或者列表                                               {"arr": ["a","b"]}
内嵌文档          文档可以作为文档中某个key的value              {"x":{"foo":"bar"}}


四、启动Mongodb命令:

mongod --dbpath E:\MongoDBDATA --rest(服务端)

mongo 127.0.0.1:27017/admin(客户端,默认连admin数据库)

(可以把这两个命令写成.bat文件)


五、Mongodb索引

创建普通索引,使用命令 db.collection.ensureIndex({key:1})

创建唯一索引,使用命令 db.collection.ensureIndex({key:1},{unique:true}),如果在某个key上面建立了唯一索引&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值