1.安装
1.1 安装方式rpm:http://www.mongoing.com/docs/tutorial/install-mongodb-on-red-hat.html,官方文档介绍的十分详细,但是是国外源,那个速度叫一个不解释。
1.2 *.gz安装
我这里的系统是centos7,所以https://www.mongodb.org/dl/linux/x86_64-rhel70?_ga=2.36821284.567782636.1523855519-159973659.1523323745,下载对应版本的压缩包;解压到/usr/local/mongodb
创建配置文件:
cd /usr/local/mongodb
cat mongodb.conf
bind_ip=0.0.0.0
port=27017
dbpath=/data/mongodb
rest=true
logpath=/usr/local/mongodb/mongodb.log
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true
logappend=true
shardsvr=true
#directoryperdb=true
#auth=true #开启认证
auth=false #开启认证
创建启动脚本:
cat /etc/init.d/mongod
#!/bin/bash
ulimit -SHn 655350
start() {
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
}
stop() {
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage:$0 {start|stop|restart}"
exit 1
esac
给启动脚本加上执行权限后,启动mongdb。
2.实践操作
2.1 基本概念
“文档”(document)是mongodb的基本单元,文档组成collection,也就是集合,集合相当于mysql中的table。
2.2 操作命令
1. use database;#进入一个数据库,如果该库不存在就会创建。
2. db.createCollection(name,option);#创建集合。创建集合中有个option选项:
db.createCollection('user1',{capped: 'true',size: 6142800,max: 1000})
capped:设置集合大小是否为固定值 ‘true’ or ‘false’,当值为true时,必须要加上size的值;当容量达到上限后,会自动覆盖最早的文档。
size:集合最大容量,单位为字节。
max:文档最大数量。
3.文档的基本操作:
文档插入:
db.user1.insert( {'name': 'tom'})
文档查找:
db.user1.find()
{ "_id" : ObjectId("5ad43c01e72cb7b694ea9d8e"), "name" : "tom" }
文档修改:
db.user1.update({"name" : "tom"},{$set:{"name": "xxx"}})
update用法: db.collection.update(
… {条件},
…{$set:{update内容}
…},{参数}
…)
参数介绍两个:
1.upsert: 不存在的内容会插入,默认是false
2.multi,默认为false,开启会只修改匹配到的第一条
update2:
db.collection.save{document}
覆盖原来的集合了
删除文档:
db.collection.remove(条件)
注释:当集合为capped时,不能删除文档,修改值不能超过原空间。
文档排序:
db.user1.find().sort({id:-1}) # sort({key:1})正序
索引
建立索引:
db.collection.ensureIndex({"name":1})
查询索引:
db.user1.getIndexKeys()