MongoDB笔记

MongoDB

stay in hungry ,stay in foolish~
–steven.jobs

noSQL概述(包括MongoDB,Redis数据库)

优点:
1.高可扩展性

2.分布式计算

   3. 低成本

    4.架构的灵活性

    5.没有复杂关系

缺点:1.没有标准化

   2.有限的查询功能

   3.最终一致是不直观的程序

分类:

1.列存储:

         hbase   

     Cassandra  

     hypertable 

2文档存储

       MongoDB

           couchDB

3.key-value存储

    Redis

    Tokyo cabinet / tyrant

4.图存储

    Neo4J

    FlockDB

5.对象存储

    db40

    Versant

6.xml存储

    barkeley DB XML

    baseX

MongoDB简介

一,什么是MongoDB

1.MongoDB是由c++语言编写的基于分布式文件存储的开源数据库系统在高负载的情况下,添加更多的节点,保证服务器的性能。

2.MongoDB为web应用提供了高性能的数据存储解决方案。

3.MongoDB将数据存储为一个文档,数据结构由(key-value)形式组成。MongoDB文档类似于json文件,字段值可以是其他文档,列表等。

二,JSON文件

1.存储数据的一种格式

{}:代表字典

[]:列表

 ,:分两个部分

::键值对

三,特点

1.MongoDB提供了一个面向文档存储,基本思路是将原来的 ,行, 的概念换成了更加灵活的文档的模型,一条记录可以表示一个非常复杂的层次关系。

2.MongoDB支持丰富的查询表达式,查询指令是json形式的文件标记,

3.非常容易扩展,扩展集群后还可以实现集群中数据的负载均衡。

4.MongoDB支持各种编程语言,比如python,Java,c++;

5.丰富的功能,包括索引,存储Javascript,聚合,固定集合,文件存储等。

6.方便管理,处理启动数据库服务以外,记过没有其他什么必要的操作。管理集群只需要知道哪个新增的节点即可,会自动继承和配置新节点

MongoDB的概念

一,与mysql术语的对比

见表

二,与mysql数据结构的对比

三.数据库

1.一个MongoDB中可以建立多个数据库

2.MongoDB的单个实例可以容纳多个数据库,每一个都有自己的集合和权限,不同的数据库放在不同的文件中

3.数据库通过名字来标识

a.不能是空字符串

b.不能含有 引号 空格 .  $  /  \  \0 

c.全部小写

d.最多64个字节

4.有一些数据库名是保留的,可以直接访问的

a. admin

从权限的角度去考虑这是“root”数据库,要是将严格用户添加到数据库,这个用户自动继承所有数据库的权限,一些特定的数据库服务端的命令只有能从这个数据库运行,比如列出所有的数据库或者关闭服务

b. local

这个数据库永远不会被复制,用来存储仅限于本地单台服务器的一些集合

c. config

当MongoDB用于分片设置时,config数据库在内部使用,用于保存分片的相关数据

四.文档

1.概念:
文档是MongoDB中最核心的概念,其核心单元,将文档类比成关系型数据库中的每一行数据,多个键有序的放在一起就是文档,MongoDB使用了bson数据结构来存储数据和网络数据交换。

BSON数据可以理解为在JSON基础上添加了一些JSON没有的数据类型

2.例子
{‘name’}
3.文档命名规范
a.键不能含有\0

b.键不能含有$

c.以下划线开头的键都是保留的
4.文档注意事项
a.文档中的键值对是有序的

b.文档中的值可以是列举的数据类型的值,甚至是另一个文档

c.MongoDB区分大小写和类型

d.文档中的键不能重复

e.文档中的键一般是字符串

五.集合

类比mysql中的表,集合就是一组文档的组合

在MongoDB中,集合是无模式的,也就是说集合中存储的文档结构可以不同。

注意:当第一个文档插入式,集合就会别自动创建.

命名规则:

1.集合名不能是字符串

2.不能含有上面的一堆符号

3.不能以“system”开头,这是为系统集合保留的前缀

4.集合的名字中不能含有保留字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值