Windows7下MongoDB的安装和配置、启动和停止
一、下载
MongoDB的官方下载网址是:https://https://www.wendangku.net/doc/5e8557116.html,/downloads
选择要安装的系统版本,同时注意区分32还是64的操作系统
笔者操作系统为64位Windows7
二、安装和使用
(1)点击下载的mongodb-win32-x86_64-2008plus-ssl-3.0.4-signed.msi,下一步,下一步over。
(2)配置:数据库和日志路径
首先以管理员权限进入cmd。点击电脑左下角的开始按钮,点击运行按钮,就会出现运行输入窗口,输入cmd就会进入。
我的安装路径:C:\MongoDB,如果使用其他路径,请自行修改下面的对应的安装路径。
使用管理权限cmd下
mkdir C:\MongoDB\data\db (在C:\MongoDB下创建目录db,用于存储数据库文件)mkdir C:\MongoDB\data\log (在C:\MongoDB下创建目录log,然后再在log目录下
创建一个mongodb.log文件)
目录结果,手动创建也可以
cd C:\MongoDB\bin(按照路径,自行修改)
mongod -dbpath "C:\MongoDB\data\db"
执行此命令即将mongodb的数据库文件创建到C:\Program Files\mongodb\data\db 目录,出现下面的打印。
当看到这行“waiting for connections on port 27017”时,到浏览器中输入地址“localhost:27017”,回车!浏览器会打印:如下,则说明MongoDB已经启动成功了。
(3)测试与使用:
新打开一个DOS窗口,win+R, cmd,回车。
cd C:\MongoDB\bin
mongo
简单的插入,查询。
输入:
>db.foo.insert({a:123,b:345})
>db.foo.find()
输出:
{ "_id" : ObjectId("51357b2003004382ccd87dcd"), "a" : 123, "b" : 345 }
>
注:Access control is not enabled for the database(数据库未启用访问控制),不影响使用,可以自行深入研究。
(4)注册服务
为了使用方便,把mongo注册成windows服务。这样可以通过控制面板-管理工具-服务来启动和关闭mongo了。
在cmd下
cd C:\MongoDB\bin
mongod -dbpath "C:\MongoDB\data\db" --logpath
"C:\MongoDB\data\log\mongodb.log" --install --serviceName "MongoDB"
效果如下:
注册服务成功后,在cmd运行
NET START MongoDB (开启服务)NET stop MongoDB (关闭服务)
mongod参数说明:
dbpath:数据文件存放路径,每个数据库会在其中创建一个子目录,用于防止同一个实
例多次运行的mongod.lock也保存在此目录中。
logpath:错误日志文件。
logappend:错误日志采用追加没模式(默认是覆写模式)。
bind_ip:对外服务的绑定Ip,一般设置为空,及绑定在本机所用可用Ip上,如有需要可以单独指定。
port:对外服务端口,web管理端口在这个port的基础上+1000.
fork:以后台Daemon形式运行服务。
journal:开启日志功能,通过保存操作日志来降低单机故障的恢复时间,在1.8版本
后正式加入,取代在1.7.5版本中的dur参数。
syncdelay:系统同步刷新磁盘的时间,单位为秒,默认是60秒。
directoryperdb:每个db存放在单独的目录中,建议设置该参数。
maxConns:最大连接数。
repairpath:执行repair时的临时目录。如果没有开启journal,异常down机后重启,必须执行repair操作。
(5)简单操作
这样其实就安装成功啦,同时也启动啦mongoDB服务
net start MongoDB
cd C:\MongoDB\bin
mongo
进入Shell环境界面。
简单的MongoDB增删改
5.1 MongoDB中的插入Insert
接上,进入shell界面,test是默认库,foo是默认表,见上测试(3)
输入show dbs,查看当前数据库。
然后创建数据库,库名为people,输入 use people ,这样就相当于创建啦数据库。> use people
>db.people.insert({"name":"张龙豪","age",18}) 这一句由于{}里面的内容不是json结构的数据,不能插入数据库表(集合)people中。
> db.people.insert({"name":"张龙豪","age":18}) 这样文档格式没有错误,就插入成功,意思是在people库中插入people集合(表),文档(行数据)
为{"name":"张龙豪","age":18}
>db.people.insert({"name":"张龙豪","age":28}) 这样文档格式没有错误,就插入成功,意思是在people库中插入people集合(表),文档(行数据)为{"name":"张龙豪","age":28}
>db.people.insert({"cmp":50,"tree":20}) 这一句又创建啦一个集合(表)插入文档(行数据)为{"cmp":50,"tree":20}
>db.people.insert({"name":"张龙豪","age":28}) 在插入一条记录
5.2MongoDB中的查看select---find
>db.meinvxiezhenji.find() 查出peple集合中的所有的文档
>db.people.find({"age":18}) 查出peple集合中年龄为18的一条文档。
5.4MongoDB中的修改update
update({},{}),前面一个是查询条件,后面是修改后的数据文档
>db.people.update({"age":18},{"name":"张龙","age":18}) -修改年龄为18的名字为张龙
>db.people.find({"age":18}) 查出验证修改结果
MongoDB中的删除delete--remove
删除后剩下一条张龙豪20的数据。
>db.people.remove({"name":张龙豪1}) 格式不对,执行失败
>db.people.remove({"name":"张龙豪1"}) 执行成功
三、介绍一点MongoDB的基本概念
1、MongoDB是NoSQL中面向文档的数据库,他是介于关系型数据库与非数据库之间的数据库产品。
2、MongoDB的文档,相当于关系数据库中的一行数据。
3、多个文档组成一个集合(collection),集合相当于关系数据库中的表
4、多个集合,组合在一起,就是一个数据库
5、一个运行的MongoDB Server支持多个数据库。