mongoldb学习之初识mongoldb

      我只是知识的搬运工。

  作为一个android开发工程师,初入职,公司没有什么关于android的任务,反而交给我一个XX管理系统的开发任务,java后端。

  大三学习的Java web,我基本都还给老师了,现在要一点点捡起来,所幸java还是熟悉的。唔,初次接触了os 系统,在操作系统不熟,语言不熟的情况下,向朋友求助,安装了intellij idea,gradle,mongodb,安装的时候我啥都不懂,就按照步骤安装上了,照朋友的说法,这个组合开发起来比较简单,然额,把我带进了一个大坑。必须使用的几个工具包,突然不能用了.....真的要疯了,朋友也挺不好意思,算了,按照原生的来吧。

      于是又安装了tomcat,写了个hello world,服务器测试成功。

      数据库已经安装了mongodb,就没有再安装mysql。

      接下来的时间,开始学习。

  本文主要是一些概念。

  MongoDB 是一款跨平台、面向文档的数据库。用它创建的数据库可以实现高性能、高可用性,并且能够轻松扩展。

  MongoDB 的运行方式主要基于两个概念:集合(collection)与文档(document)。 

文档

  文档是MongoDB的核心概念,多个键及其关联的值有序的放置在一起就是文档。下面是几个关于文档的十分重要的概念:

  • 文档中的键值对是有序的。
  • 文档的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型。
  • 文档的键是字符串,除了少数例外情况外,键可以使用任意UTF-8字符:
    • 键不能含有/0(空字符)。这个字符用来表示键的结尾。
    • .和$有特别的意义,只有在特殊环境下才能使用。
    • 以“_”开头的键是保留的。
  • 文档中不能有重复的键

集合

  集合就是一组文档,如果说文档相当于关系数据库中的行,那么集合就相当于其中的表。

  以下是关于集合的几个重要概念。

  • 集合是无模式的。一个集合中的文档是多种多样的。
  • 集合的命名规则如下:
    • 集合名不能是空字符串“”。
    • 集合名不能含有空字符“”,它代表集合名的结尾;
    • 集合名不能以“system.”开头,这是为系统集合保留的前缀。
    • 用户创建集合名字不能包含$字符。
  • 集合的子集合。

      可使用子集合来组织数据。

数据库

   在MongoDB中,多个文档组成集合,多个集合组成数据库。

   数据库命名规则:

  • 集合名不能是空字符串“”。
  • 集合名不能含有空字符“”,“.”,"$"," "(空格),“”。
  • 应全部小写。
  • 最多64字节。

数据库最终会变成文件系统中的文件。

与关系数据库相比

1、MongoDB 相比 RDBMS 的优势

  • 模式较少:MongoDB 是一种文档数据库,一个集合可以包含各种不同的文档。每个文档的字段数、内容以 及文档大小都可以各不相同。

  • 采用单个对象的模式,清晰简洁。

  • 没有复杂的连接功能。

  • 深度查询功能。MongoDB 支持对文档执行动态查询,使用的是一种不逊色于 SQL 语言的基于文档的查询 语言。

  • 具有调优功能。

  • 易于扩展。MongoDB 非常易于扩展。

  • 不需要从应用对象到数据库对象的转换/映射。

  • 使用内部存储存储(窗口化)工作集,能够更快地访问数据。

2、为何选择使用 MongoDB

  • 面向文档的存储:以 JSON 格式的文档保存数据。

  • 任何属性都可以建立索引。

  • 复制以及高可扩展性。

  • 自动分片。

  • 丰富的查询功能。

  • 快速的即时更新。

  • 来自 MongoDB 的专业支持。

3、MongoDB 适用的领域

      • 大数据
  • 内容管理及交付
  • 移动及社会化基础设施 • 用户数据管理
  • 数据中心 

 

原文地址:https://www.cnblogs.com/mafangfang/p/5691886.html