一,MongoDB中的使用
(1)which mongod
此步骤的作用是,检测的MongoDB是否在电脑上安装成功。
(2)mkdir -p /data/db
一个新建/data/db
文件夹数,-p
表示递归创建。
这个文件夹的作用是用来保存数据库的文件。
(3)df -lh
显示磁盘内存占用情况,-h
表示人性化显示
(4)mongod --dbpath=/data/db --port=27017
此命令用来启动MongoDB的服务。
--dbpath
参数用来指定数据库保存的路径; --port
参数用来指定端口,这个参数也可以不指定,如果没有指定,那么就会默认启用27017端口进行服务。
(5)mongod --dbpath=/data/db --port=27017 --fork --syslog
此命令是用采用守护进程的方式来启动mongod的。
--syslog
代表将mongod的产生的日志写入系统日志中。
(6)tail -f /var/log/messages
此命令用来跟踪系统日志,当有新的日志被写入消息的时候,就会呗打印在终端界面上。
(7)关掉mongodb的进程
用mongod --shutdown
或者kill 进程端口号
两种方式关掉的MongoDB进程
(8)将mongodb的产生的日志写入指定文件夹
mongod --dbpath=/data/db --port=27017 --fork --logpath=/var/log/mongod.log
表示将MongoDB中采用守护进程的方式运行,并且将日志写入指定路径中。
(9)另外在CentOS 7中,还可以采用一种方式启动mongodb程序
service mongod start
表示启用的MongoDB服务
service mongod stop
表示终止的MongoDB服务
service mongod restart
表示重启的MongoDB服务
要注意的是,此种启动方式是从官网上看到的,不知道默认系统日志会被写入到哪个路径,并且暂时还不知道数据库文件会被保存到哪个路径之中。
二,MongoDB的客户端工具的使用
(1)启动的两种方式
- 一种第方式的英文直接在命令行上键入
mongo
命令,即可启动mongodb的的客户端工具 - 第二种方式是指定的IP地址和端口号,如
mongo 127.0.0.1:27017
(2)显示数据库
show dbs
命令用来查看当前有哪些数据库
admin (empty)
local 0.000GB
- 1
- 2
这两个数据库,是MongoDB的默认的数据库。
(3)创建数据库
不需要用专门的命令来创建数据库,采用use example
命令就能e月刊到例如数据库,当这个数据库不存在的时候,就会自动被创建。
此时但是你如果用show dbs
命令依旧不能看到这个示例数据库,只有当你真正的朝这个数据库中写入数据的时候,这个数据库才会被真正的创建出来
(4)创建集合
使用db.users.insert({"username": "fengruoqing"});
,了创建³³一个名为users
集合,并为集合中添加第一条数据({"username": "fengruoqing"})
(5)显示集合
show collections
,显示当前数据库中的所有集合
(6)查看集合中所有数据的方法
db.集合的名字.find()
,就会显示集合中所有的数据
db.集合的名字.find().count()
,此命令用来显示集合中含有的数据数据的条数
db.集合的名字.find({"条件"})
,在如果find()
中加入查找条件,就会列出所有符合条件的数据
(7)更新集合中的数据
db.集合的名字.update()
,使用update()
方法来更新函数
update({"条件"},{$set: {"更新后的内容"}},{multi: true})
,第三个参数没有,或者为假的时候,默认只修改索引到的第一条数据。
而且不如果写$set
关键字,与保存有同样的效果。
(8)修改集合中的数据
db.集合的名字.save({"_id": ObjectId("xxxxxxxxxxxxxxx"),"key":"value"})
使用此命令,完全修改了集合中指定ID的数据,直接就覆盖了原来的数据为新的数据
(9)删除集合中的数据
db.集合的名字.remove({'key':'value'}, true)
如果指定不个第二数据true
那么默认会删除所有符合KV对的数据,如果指定了,只会删除集合里面第一个满足条件的数据
千万要注意的是,如果remove({})
里面传入了一个空的条件,那么集合中所有的数据都会被删除掉,但是这个删除数据的方法不会删除集合中的索引,只会删除数据。
如果要想把集合中索引和数据一并删除了,那么就必须使用这个方法db.集合的名字.drop()
(10)导入数据
mongoimport --db test --collection students --drop --file ./test.json -h 192.168.127.128:27017
mongoimport
为导入数据的工具
--db test
指定想要导入的数据库,此处为名为测试的数据库
--collection students
指定想要导入的集合,此处导入名为学生的集合中
--drop
表示导入之前,清空这个集合中的数据
--file ./test.json
指定想导入数据库的文件的路径,此处表示当前目录下的test.json文件
-h 192.168.127.128:27017
指定主机和端口号
注意的是,导入之前要确保数据库和集合的存在性,不然可能会导入失败
-
匹配精确
db.students.find({"key":"value"});
精确匹配所有符合条件的数据,而且这个条件可以有多个 -
匹配条件
db.students.find({"key": {$gt:"value"}});
此处表示条件匹配,查找数据中的“钥匙”的值大于“值”的所有数据 -
条件或者
db.students.find({$or:[{"key1":"value2"},{"key2":"value2"}]});
表示查找符合两个条件之一的数据 -
排序
db.students.find().sort({"score.语文":1, "age":1});
找到数据以后,加上sort()
进行排序,排序函数接受排序条件,“钥匙”里放筛选的类别,然后“值”为1;如果有多个条件,依次按条件进行调整
三,nginx任意目录重启
- 由于在不同的目录下,nginx reload比较麻烦,要转换到相应目录,可用 /etc/init.d/nginx reload 命令进行重启nginx配置