MongoDB入门系列(一):基础概念和安装

概述

MongoDB是目前非常流行的一种非关系型数据库,作为入门系列的第一篇本篇文章主要介绍Mongdb的基础概念知识包括命名规则、数据类型、功能以及安装等。

环境:

OS:Windows

Version:3.4

一、安装

1.下载解压

在官网下载对应操作系统版本的安装包,然后解压;我这里使用Windows环境安装测试。

2.在D盘创建Mongodb\data\db目录

3.初始化数据

最好先将bin目录加入到环境变量,否则要到命令目录下执行。

mongod --dbpath D:\mongodb\data\db

4.启动服务

在D:\mongodb目录下创建mongo.config配置文件,配置文件内容如下,这里只配置了数据和日志路径,其它的参数暂时默认。

dbpath=D:\mongodb\data\db
logpath=D:\mongodb\data\log\mongo.log  

将mongodb添加到服务启动项

mongod --config D:\mongodb\mongo.config --install --serviceName "MongoDB"

删除服务启动项命令

mongod  --remove --serviceName "MongoDB"

启动服务

net start MongoDB

测试服务是否启动,在浏览器中输入localhost:27017;如果没有手动指定端口那么默认端口就是27017

二、基础概念

1.特点

MongoDB并不具备一些关系型数据库中和普遍的功能,如连接和复杂的多行事务。省略这些功能是出于架构上的考虑(为了得到更好的扩展性),因为在分布式系统中这两个功能难以高效的实现,同时为了追求性能MongoDB会尽可能的将一些处理逻辑交给客户端(通过驱动程序或应用程序代码来实现)。

2.功能

1.索引

MongoDB支持通用的二级索引,允许多种快捷查询,且提供唯一索引、复合索引、地理空间索引以及全文索引等。

2.聚合

MongoDB支持“聚合管道”,用户能通过简单的片段创建复杂的聚合,并通过数据库自动优化。

3.特殊的聚合类型

MongoDB支持存在时间有限的集合,适用于那些将在某个时刻过期的数据,如会话。MongoDB也支持固定大小的集合,用于保存近期数据,如日志。

4.文件存储

MongoDB支持一种非常易用的协议,用于存储大文件和文件元数据。

3.基本概念

  • 文档是MongoDB中数据的基本单元,类似关系型数据库中的行。
  • 一个实例可以拥有多个相互独立的数据库,每个数据库都拥有自己的集合,集合类似关系型数据库中的表。
  • 每个文档都有一个特殊的键“_id”,这个键在文档所属的集合中是唯一的。
  • 每个文档不能有重复的键值。例如{"blog":"news","blog":"book"},在该文档中键值blog重复。
  • 一个集合可以存储混合的文档,即不同类型的文档。但通常不这样做,为了方便查询和管理一般一种类型的数据放一个集合。
  • MongoDB不但区分类型,而且区分大小写。

4.命名、规则

文档

  • 键不能含有\0(空字符)。这个字符用于表示键的结尾。
  • .和$具有特殊意义,只能在特定环境下使用。

集合

  • 集合名不能是空字符串
  • 集合名不能包含\0字符
  • 集合名不能以"system."开头
  • 集合名中不能使用保留字符“$”

数据库

  • 不能是空字符串("")。
  • 命名中不能含有:/、\、.、‘‘、*、<、>、:、|、?、$、\0(空字符)。一般由字母和数字组成。
  • 数据库名区分大小写,建议小写。
  • 数据库名最多64个字节。

5.数据类型

1.null

用于表示空值或不存在的字段

例:{"x":null}

2.布尔型

true和flase两个值,例:

{"x":ture}

3.数值

默认使用64位的浮点型数值,对于整形值,可以使用NumberInt类(4字节带符号整数)或NumberLong类(表示8字符带符号整数)。例:

默认:{"x":3.14}或者{"x":3}

指定整形值:{"x":NumberInt("3")}或者{"x":NumberLong("3")}

4.字符串

{"x":"foobar"}

5.日期

{"x":new Date()}

6.正则表达式

{"x" : /a/b}

7.数组

{"x" : ["a","b","c"]}

8.内嵌文档

文档可以嵌套其它文档,被嵌套的文档作为父文档的值

{"x" :{"a" : "b"}}

9.对象id

对象id是一个12字节的ID,是文档的唯一标识。

10.二进制类型

二进制数据是一个任意字节的字符串

11.代码

总结


备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

《欢迎交流讨论》

时间: 2024-08-01 18:32:38

MongoDB入门系列(一):基础概念和安装的相关文章

快速入门系列--TSQL-01基础概念

作为一名程序员,对于SQL的使用算是基础中的基础,虽然也写了很多年的SQL,但常常还是记不清一些常见的命令,故而通过一篇博文巩固相关的记忆,并把T-SQL本身的一些新特性再进行一次学习. 首先回顾基础的概念,这部分可以跳过哈,比较枯燥.结构化查询语言SQL是基于集合理论和谓词逻辑的,大学课程中数字逻辑和离散数学主要会涉及这部分的内容. 集合理论是数学家Georg Cantor创建,是基于关系模型的数学分支.集合的定义为,任意集合体是我们感知或者想到的,能够确定的.互异对象m的整体. 谓词逻辑的渊

快速入门系列--WebAPI--01基础

ASP.NET MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公用同一个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使用了新的管道,因此两者相关类的命名空间有细微差异,在使用时需要注意. WebAPI学习系列目录如下,欢迎您的阅读! 快速入门系列--WebAPI--01基础 快速入门系列--WebAPI--02进阶 快速入门系列--WebAPI--03框架你值得拥有 快速入门系列--WebAPI--04在老版本MVC4下的调整 W

【 D3.js 入门系列 — 0 】 简介和安装

[ D3.js 入门系列 — 0 ] 简介和安装 发表于2014/06/12 近年来,可视化越来越流行,许多报刊杂志.门户网站.新闻.媒体都大量使用可视化技术,使得复杂的数据和文字变得十分容易理解,有一句谚语“一张图片价值于一千个字”,的确是名副其实.各种数据可视化工具也如井喷式地发展,D3 正是其中的佼佼者. 1. D3 是什么 D3 的全称是(Data-Driven Documents),顾名思义可以知道是一个被数据驱动的文档.听名字有点抽象,说简单一点,其实就是一个 JavaScript

Linux-Centos 7.0入门系列--环境准备及Linux安装

https://www.cnblogs.com/heimatengyun/p/12161789.html “工欲善其事.必先利其器”,本文作为“Linux零基础入门系列”开篇,将完整演示整个开发环境的安装和配置过程,为后续的开发和实验做好基础准备.如果您已安装好环境,可以直接跳过本文:如果您是第一次使用Linux,建议按照本文步骤进行操作. ps:网上已经有很多安装教程,但为了保证系列文章的完整性和可读性,特意从0开始搭建环境以供参考.安装和使用过程中,特别要注意环境及软件版本,因为不同版本的操

Mongodb入门系列(4)——Mongodb体系结构与客户端基本操作及注意细节

说到Mongodb的体系结构,免不了与关系型数据库做个对比.这里以MySQL为例,我们进行一些比较: 从逻辑结构上对比: MySQL层次概念 MongoDB层次概念 数据库(database) 数据库(database) 表(table) 集合(collection) 记录(row) 文档(document) 在MongoDB中没有行.列.关系的概念,集合中的文档相当于一条记录,这体现了模式自由的特点. 从数据存储结构上对比: MySQL的每个数据库存放在一个与数据库同名的文件夹中,MySQL如

一步步AS400-Cobol 上手自学入门教程01 - 基础概念(原创)

先学习基础概念 1.COBOL字符:包含: User-defined words 用户定义字符 ?System-names ?Reserved words 关键字 2.用户定义字符User-defined words:合法的定义: ? A - Z ? a - z ? 0 - 9 ? - (连字符). 3.系统名 System-names Computer-names ?Language-names ?Implementor-names: Environment-name Assignment-n

Mongodb入门系列(2)——在linux下安装、启动、关闭MongoDB以及注意事项(详细)

从官网下载MongoDB的压缩包.http://www.mongodb.org/downloads 将mongodb-linux-x86_64-2.6.8.tgz解压 [[email protected] Downloads]$ tar zxvf mongodb-linux-x86_64-2.6.8.tgz  mongodb-linux-x86_64-2.6.8/README mongodb-linux-x86_64-2.6.8/THIRD-PARTY-NOTICES mongodb-linux

Linux集群系列——高可用集群之corosync基础概念及安装配置.

高可用衡量标准 :corosync : 集群管理引擎 SA Forum -->OpenAIS-->Wilson-->corosync 向后延伸为衍生出来的版本REHL 6.x RHCS :corosyncREHL 5.x RHCS :OpenAIS , cman ,rgmanager corosync : Messaging Layer 需要CRM (+ pacemaker)SUSE Linux Enterprise server Hawk WEB GUILCMC : Linux Clu

Part01 - NSX系列之NSX概念与安装前准备

NSX是VMware公司出品的SDN产品,它算是由当年收购的Nicira与VxLAN的组合,是当下最好的网路虚拟化产品之一.也是VMware公司SDDC产品组合中的重要组件.本系列文档就重点阐述关于NSX SDN的概念与部署和简单使用流程: NSX的功能包含了网路交换功能.网路安全.路由.VPN等,它将Layer2-Layer7打包在软件里面,实现Software Overlay.NSX的存在,允许复杂的.可编程的大二层网路环境.结合Security Profiles来实现Virtual mac