MongoDB部署
MongoDB是一个基于分布式文件存储的数据库。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
面向集合存储,易存储对象类型的数据。*
模式自由。
支持动态查询
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性。
支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
文件存储格式为BSON(一种JSON的扩展)。
可通过网络访问
下载 mongodb-linux-x86_64-rhel70-3.6.3.tgz
直接解压 tar -xzf mongodb-linux-x86_64-rhel70-3.6.3.tgz -O /mnt
将mongodb文件内/bin文件夹拷贝到/usr/local/mongodb/
]# mkdir /usr/local/mongodb
]# cd /usr/local/mongodb/
]# cp -r \
/root/mongodb/mongodb-linux-x86_64-rhel70-3.6.3/bin/ .
]# mkdir etc //创建存放配置文件的目录
]# mkdir log //创建存放日志文件的目录
]# mkdir -p data/db //创建存放数据库的目录db,必须为这个名字
]# vim etc/mongodb.conf
dbpath=/usr/local/mongodb/data/db/ //指定数据库目录
logpath=/usr/local/mongodb/log/mongodb.log //指定日志文件
logappend=true //以追加的方式记录日志信息
fork=true //服务以守护进程的方式运行
mongodb]# mongod -f /usr/local/mongodb/etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 28001
child process started successfully, parent exiting //启动成功
mongod --dbpath=/usr/local/mongodb/data/db/ --shutdown //指定 数据库目录停止服务,不然停止不了
killing process with pid: 28001
MongoDB常用管理操作
1 )数据库管理
命令格式:
show dbs 查看已有的库
db 显示当前所在的库
use 库名 切换库,若库不存在延时创建库
show collections 或 show tables 查看库下已有集合
db.dropDatabase() 删除当前所在的库
例 > show dbs //查看已有的库
db //显示当前所在的库
use ddsdb //切换库,若库不存在的话 会自动延时创建库
2)集合管理
命令格式:
show collections 或 show tables 查看集合
db.集合名.drop() 删除集合
db.集合名.save({’’,’’}) 创建集合,集合不存在时,创建并添加文档
db.t1.save({name:“yaya”,age:60,addr:“hebei”})
WriteResult({ “nInserted” : 1 })
db.t1.save({name:“yaya”,age:70})
WriteResult({ “nInserted” : 1 })
show tables
3)文档管理
命令格式:
db.集合名.find()
db.集合名.count()
db.集合名.insert({“name”:”jim”})
db.集合名.find(条件)
db.集合名.findOne() 返回查询一条文档
db.集合名.remove({}) 删除所有文档
db.集合名.remove({条件}) 删除与条件匹配的所有文档
db.t1.save({name:“yaya”,age:70})
WriteResult({ “nInserted” : 1 })
db.t1.find()
{ “_id” : ObjectId(“5badf1b420cdd1574b851f12”), “name” : “yaya”, “age” : 60, “addr” : “hebei”}
{ “_id” : ObjectId(“5badf21820cdd1574b851f13”), “name” : “yaya”, “age” : 70 }
db.t1.findOne() //查看第一行的内容
删除记录
db.col.remove({‘title’:‘MongoDB 教程’})
WriteResult({ “nRemoved” : 1 })
基本数据类型
1)null:用于表示空值或者不存在的字段,{“x”:null}
2)布尔值:布尔类型有两个值true和false,{“x”:true}
3)数值:shell默认使用64为浮点型数值,{“x”:3.14}或{“x”:3},对于整型值,可以使用NumberInt(4字节符号整数)或NumberLong(8字节符号整数),{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
4)字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}
5)日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}
db.t1.save({name:“bobo”,wokertime:new Date()})
WriteResult({ “nInserted” : 1 })
db.t1.find({name:“bobo”})
{ “_id” : ObjectId(“5badf8ff6827555e3fd8680f”), “name” : “bobo”, “wokertime” : ISODate(“2018-09-28T09:48:47.437Z”) }