MongoDB,什么玩意

Windows下安装和配置

首先到官网下https://www.mongodb.com/
在下载好的文件中3.6目录下新建立一个data文件夹,在其中新建立db和log文件,在log中建立文件mongo.log用于存储一些文件和配置,接下来管理员模式下打开命令行中,打开到bin目录下,输入mongod --bind_ip 0.0.0.0 --logpath C:\MongoDB\Server\3.6\data\log(你安装的mongo.log文件目录) --logappend --dbpath C:\MongoDB\Server\3.6\data\db(你之前建立的db文件夹目录)--port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install配置出一个windows服务,之后建立一个开启mongodb.bat文件,内容为

@echo.服务启动......  
@echo off   
@net start MongoDB 
@echo off  
echo.启动完毕!  
pause

此后每次用管理员运行这个文件,就自动开启服务,之后在命令行下cd到bin目录下,键入mongo,进入mongodb数据库中

介绍

MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

mongodb shell

它是一个互动的JavaScript接口MongoDB。您可以使用mongoshell来查询和更新数据以及执行管理操作。
一般我们可以通过这个API接口来输入命令控制数据库。而之前的一些设置就是为这个接口配置本地主机的端口和服务环境
其中的一些数据库增删减查的基本操作参考官方文档:https://docs.mongodb.com/manual/reference/mongo-shell/

数据库的数据模型

引用模型

例如:把用户数据文档和用户地址数据文档分开,通过引用文档的 id 字段来建立关系

{
   "_id":ObjectId("52ffc33cd85242f436000001"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000"),
      ObjectId("52ffc4a5d85242602e000001")
   ]
}
嵌入式模型

上例中嵌入式结构表示为下图

"_id":ObjectId("52ffc33cd85242f436000001"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address": [
      {
         "building": "22 A, Indiana Apt",
         "pincode": 123456,
         "city": "Los Angeles",
         "state": "California"
      },
      {
         "building": "170 A, Acropolis Apt",
         "pincode": 456789,
         "city": "Chicago",
         "state": "Illinois"
      }]
} 

mongodb的基本概念

与SQL数据库的概念对比

对应术语

GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等)。GridFS 会将大文件对象分割成多个小的chunk(文件片段),一般为256k/个,每个chunk将作为MongoDB的一个文档(document)被存储在chunks集合中。GridFS 用两个集合来存储一个文件:fs.files与fs.chunks。每个文件的实际内容被存在chunks(二进制数据)中,和文件有关的meta数据(filename,content_type,还有用户自定义的属性)将会被存在files集合中。

数据库的特色

索引

特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构,方便查找

聚合

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果

管道

管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的参数。
对于MongoDB的聚合管道,是将MongoDB文档在一个管道处理完毕后将结果传递给下一个管道处理。管道操作是可以重复的。

复制

复制

MongoDB复制是将数据同步在多个服务器的过程。复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。还允许您从硬件故障和服务中断中恢复数据。

切片

在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。


切片
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容