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


    概述  

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

    环境:

    OS:Windows

    Version:3.4

    一、安装

    1.下载解压

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

    2.在D盘创建Mongodbdatadb目录

    3.初始化数据

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

    mongod --dbpath D:mongodbdatadb

     4.启动服务

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

    dbpath=D:mongodbdatadb
    logpath=D:mongodbdatalogmongo.log  

    将mongodb添加到服务启动项

    mongod --config D:mongodbmongo.config --install --serviceName "MongoDB"

    删除服务启动项命令

    mongod  --remove --serviceName "MongoDB"

    启动服务

    net start MongoDB

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

    二、报错处理

    1.api-ms-win-crt-runtime-11-1-0.dll

    无法启动此程序,因计算机中都是api-ms-win-crt-runtime-11-1-0.dll

    处理方法:下载安装Windows6.1-KB2999226-x64补丁

    https://www.microsoft.com/zh-cn/download/details.aspx?id=49093

    三、基础概念

    1.特点

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

    2.功能

    1.索引

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

    2.聚合

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

    3.特殊的聚合类型

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

    4.文件存储

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

    3.基本概念

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

    4.命名、规则

    文档

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

    集合

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

    数据库

    • 不能是空字符串("")。
    • 命名中不能含有:/、、.、''、*、<、>、:、|、?、$、(空字符)。一般由字母和数字组成。
    • 数据库名区分大小写,建议小写。
    • 数据库名最多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

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

    《欢迎交流讨论》

  • 相关阅读:
    什么是webApp?与原生APP的区别
    判断h5是否在小程序内打开
    移动端 1px边框
    【填坑】小程序webview使用简单汇总
    一个小程序账号只能发布一个小程序
    微信开发工具提示未绑定网页开发者
    小程序webview(业务域名配置)
    webpack打包已开发好的vue项目
    vscode搭建本地服务器
    微信扫码下载,H5引导页
  • 原文地址:https://www.cnblogs.com/chenmh/p/7763311.html
Copyright © 2020-2023  润新知