(1)MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
(2)MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
(3)特点:
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
yum install mongodb-org -y
vim /etc/mongod.conf
bindIp: 0.0.0.0 //监听地址
port: 27017 //监听端口
systemctl start mongod.service
#查看服务启动情况
netstat -natp | grep 27017
cp -p /etc/mongod.conf /etc/mongod2.conf
vim /etc/mongod2.conf
//修改以下代码:
path: /data/mongodb/mongod2.log //日志文件目录
dbPath: /data/mongodb/mongo //数据存储目录
port: 27018 //服务器端口
mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongo
#创建日志文件
touch mongod2.log
#给于权限
chmod 777 mongod2.log
mongod -f /etc/mongod2.conf
mongo --port 27018 //指定实例的端口
netstat -ntap
(1)文档 : 相当于关系数据库的 行 (多个文档组成集合)
(2)集合 : 相当于关系数据库的 表 (多个集合组成数据库)
(3)数据库名特殊作用:
mongo //进入数据库
> db.version() //查看版本
> show dbs; // 查看数据库
> db.getMongo() //查看当前数据库机器的连接地址
> db.集合名.help //显示集合操作命令
> show users //显示用户
(4)具体操作:
> use school; //打开school数据库, 不存在会创建,不建立集合又会删除
> db.createCollection('info') //创建集合
> db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]}) //添加数据
> db.info.find() //查看info集合中所有文档
> show collections //查看数据库中所有集合
> db.info.update({"id":10},{$set:{"name":"tom"}}) //更改数据
> db.info.remove({"id":2}) //移除info集合中的id2的数据
> db.info.drop() //删除info集合
> db.dropDatabase() //删除数据库 先use到要删的数据库里在删
> db.info.count() //统计有多少条数据
(5)MongoDB 数据类型:
(6)查看数据类型:
> a=db.info.findOne({"id":1}) //查找指定记录并赋予别名a
> typeof(a.id) //查看属性类型
(1)导入导出:
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) //循环写入100条数据
mongoexport -d school -c info -o /opt/info.json //导出
mongoimport -d school -c info1 --file /opt/info.json //导入到info1集合
mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json //条件导出指定第10行
(2)备份与恢复:
mkdir /backup //创建存放目录
mongodump -d school -o /backup/ //备份school数据库
mongorestore -d school1 --dir=/backup/school //恢复到school1数据库
④ 复制数据库:
db.copyDatabase("school","school2") //复制数据库school 到school2中
⑤ 克隆数据库:
把数据库school的info集合 克隆到实例2
先进入实例2的MongoDB
mongo --port 27018
db.runCommand({"cloneCollection":"school.info","from":"192.168.126.130:27017"})
auth=true //添加
mongo
> use admin
> db.createUser({"zkc":"root","pwd":"123","roles":["root"]})
//创建用户zkc 密码123 分配到root角色
> db.auth("root","123") //验证用户
> db.currentOp() //查看
> db.killOp(4872) //终止4872进程
vim /etc/mongod.conf
httpinterface=true
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。