简单介绍mongoDb
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
MongoDB 将数据存储为一个文档。MongoDB是一个基于分布式文件存储的数据库。
MongoDb是一种NoSQL.(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。它是一种非关系型数据库,用于超大规模数据的存储。
NoSQL的优缺点:
优点:
- - 高可扩展性
- - 分布式计算
- - 低成本
- - 架构的灵活性,半结构化数据
- - 没有复杂的关系
缺点:
- - 没有标准化
- - 有限的查询功能(到目前为止)
- - 最终一致是不直观的程序
那么MongoDb的特点呢,官方说明~
- MongoDB的提供了一个面向文档存储,操作起来比较简单和容易。
- 你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。
- 你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。
- 如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。
- Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
- MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。
- Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。
- Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。
- Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。
- GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。
- MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。
- MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
- MongoDB安装简单。
MongoDb安装
MongoDb的安装很简单,其实是有两种:第一种是下载压缩包文件,解压使用;第二种是下载msi文件,安装使用。
(1)下载 官方的msi文件
我这里是64位的。
下载之后直接安装就行了,一步步按照它的操作最后我的路径变为E:\Program Files\MongoDB\Server\3.0 在这个文件夹下边可以发现
最好看看它自己提供的README等
然后进入bin文件瞅瞅
bin文件里边一般用到的就是那两个文件
mongod.exe用来启动mongodb服务(启动之后你的数据库就可以使用了的意思)
mongo.exe用来启动进入数据库(然后你就可以命令操作数据库的意思)
tip 以这种msi安装方式你需要注意:
1. 安装路径默认太长了(因为后边mongo.exe的执行你需要敲命令进去..)你可以把它拉近点,把bin拿出来。比如我的E:\mongoDb\bin
2. 要自己在磁盘根目录创建一个文件夹data 然后再里边再创建一个文件夹db 用来存放数据。E:\data\db(不这样做的话,点击mongod.exe会频频闪退~)
好了,创建好之后就可以直接点击 mongod.exe 开启服务
好长一串(一般我们可以为它创建一个日志文件,这样日志就会被记录,当然了,控制台也就基本没什么输出了)...它现在已经默认监听本地的端口27017了
好现在就浏览器输入地址 http://localhost:27017/ 可以看到服务已经成功开启
接下来试试操作数据库吧: 命令行进入程序所在文件夹
(tip: 如果没有开启服务,可能会导致下边的错误)
开启服务(mongod.exe)之后,一般就可以解决了~
试一下,然后可以用其语法进行数据库操作,help查看帮助
(tip:出现上上图错误的原因,如果重新开启服务还是没有解决的话,还有其他办法)
1.看看mongodb服务有没有开启(或者运行services.msc 来查看服务的开启状态)如果确认开启了
2.看看data文件夹下边db文件夹之中lock文件有没有,如果有的话就删除之,接触锁定
3.开启服务吧。
总之错误就是你没开启服务或者开启服务之后lock文件还锁定着某些东西..
(2)假如你下载的是压缩包
好吧那也不错,就将其解压出来,你需要自己创建个路径,比如E:\Program Files\mongodb 然后把解压出来的bin文件夹放进去
同理 然后在E:\Program Files\mongodb 下建立data文件夹 E:\Program Files\mongodb\data ,然后在data下边分别建立db,log两个文件夹
db必须要,log随意,但是没有log的话日志信息就只能输出在控制台,有些混乱而且会丢失
db就用于给数据库默认使用了 log用于放置配置文件(然后在log文件夹下边建立一个日志文件 比如 mongodb.log )
然后就配置一下,让mongodb知道使用那些文件
控制台进入你的bin文件夹
> cd E:\Program Files\mongodb\bin
> E:\Program Files\mongodb\bin>mongod --dbpath "E:\Program Files\mongodb\data\db"
输入上边的命令让其使用db那个文件夹
要配置日志就
> E:\Program Files\mongodb\bin>mongod --logpath "E:\Program Files\mongodb\data\log\mongodb.log"
通常还可以使用更快捷的命令方式来开启mongodb服务,那就来设置一下(假设我想让服务名是 mongodb)
> E:\Program Files\mongodb\bin>mongod --serviceName "mongodb"
这样一来,我们就可以简单的使用net start mongodb 来启动服务了 或者 net stop mongodb来关闭服务
对于msi安装出来的方式,这样配置服务似乎是不行的(我栽了)
官方的提供如下:
执行以下命令将MongoDB服务器作为Windows服务运行(需要管理员权限)
mongod --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
其中,具体的参数为:
--bind_ip | 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP |
--logpath | 定MongoDB日志文件,注意是指定文件不是目录 |
--logappend | 使用追加的方式写日志 |
--dbpath | 指定数据库路径 |
--port | 指定服务端口号,默认端口27017 |
--serviceName | 指定服务名称 |
--serviceDisplayNam | 指定服务名称,有多个mongodb服务时执行。 |
--install | 指定作为一个Windows服务安装。 |
具体安装方式就是这样~
--------------------------------------------------------------------------------------------------------------------------------------
可以直接在控制台里边直接操作数据库,也可以使用图形工具mongoVUE 似乎更便捷 去 官方下载
安装好之后打开它
苦命啊...要收费..听说低于1.3版本的不用注册就可以使用... 点击 ok
下面稍微介绍一下它的使用方式
先点击那个加号新创建一个,因为你什么也没有,步骤也就是这样:0 1 2 3 4
下面说一种新手常犯的错误,我就是这样犯的...
看好图,一般来说每步都要一直走,都差不多,但注意第二步。
因为我们新创建的而且很多数据库都是新的什么也没有,所以一般就是直接置空。如果你确定有相应的用户名密码数据库再填上
否则就有如下错误..无实例
好那就来创建个新的~ 然后test一下 save一下 connect一下
好了它终于出来了,现在我们就用这个图形界面进行操作
右键那个collection看看吧,查看所有数据,会有三种格式的观看方式,分别为Tree table text
然后继续操作 百度文库那儿已经有一篇文章介绍地非常好了,需要的可以 进入百度文库查看
--- 就先介绍到这里 --