NoSQL之MongoDB安装
1、使用yum在线安装MongoDB
1)、配置MongoDB的yum 源
[root@localhost ~]# vim /etc/yum.repos.d/mongo.repo [mongodb]
name=mongodb
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mongodb/yum/el7-5.0/
gpgcheck=0
2)、下载
[root@localhost ~]# yum install mongodb-org -y
3)、启动
[root@localhost ~]# systemctl enable mongod --now
2、源码安装MongoDB并配置服务脚本
1)、下载源码包(可能比较慢可使用迅雷下载后再导入)
[root@localhost ~]# wget https://fastdl.mongodb.org/linux/mongodb- linux-x86_64-rhel70-5.0.5.tgz
2)、解压
[root@localhost ~]# tar xf mongodb-linux-x86_64-rhel70-5.0.5.tgz -C /usr/local/
3)、按配置文件设置创建日志和数据文件存放目录
[root@localhost ~]# mkdir -p /usr/local/mongodb/{data,log}
4)、为启动设置软链接
[root@localhost ~]# cd /usr/local/
[root@localhost local]# ln -sv mongodb-linux-x86_64-rhel70-5.0.5/ mongodb
5)、创建配置文件
[root@localhost local]# cd mongodb
[root@localhost mongodb]# vim /usr/local/mongodb/mongod.confsystemLog:destination: filelogAppend: truepath: /usr/local/mongodb/log/mongod.logstorage:dbPath: /usr/local/mongodb/datajournal:enabled: trueprocessManagement:fork: true pidFilePath: /usr/local/mongodb/log/mongod.pid timeZoneInfo: /usr/share/zoneinfonet:port: 27017bindIp: 127.0.0.1
6)、 配置mongodb.service文件
[root@localhost mongodb]# vim /usr/lib/systemd/system/mongodb.service[Unit]
Description=MongoDB Database Server
Documentation=https://docs.mongodb.org/manual
After=network-online.target
Wants=network-online.target[Service]
User=mongod
Group=mongod
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongod.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongod.conf
PrivateTmp=true [Install]
WantedBy=multi-user.target
7)、配置环境变量
[root@localhost mongodb]# vim /etc/profile.d/mongo.sh export PATH=$PATH:/usr/local/mongodb/bin
8)、启动
[root@localhost mongodb]# systemctl daemon-reload
[root@localhost mongodb]# systemctl start mongodb
3、基本操作作业
1)创建一个数据库 名字grade
[root@localhost mongodb]# mongo
> use grade;
2)数据库中创建一个集合名字 class
> db.createCollection("class")
3)集合中插入若干数据 文档格式如下
{name:'zhang',age;10,sex:'m',hobby:['a','b','c']}
hobby: draw sing dance basketball football pingpong computer
自行插入数据,后面查询使用
> db.class.insertMany([
... {name:'zhang',age:10,sex:'m',hobby:'draw'},
... {name:'wang',age:15,sex:'n',hobby:'commputer'},
... {name:'li',age:10,sex:'n',hobby:'pingpong'},
... {name:'sun',age:22,sex:'n',hobby:'sing'},
... {name:'zhou',age:30,sex:'n',hobby:'dance'}
... ])
4)查询操作
查看班级所有人信息
> db.class.find()
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf4"), "name" : "zhang", "age" : 10, "sex" : "m", "hobby" : "draw" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf5"), "name" : "wang", "age" : 15, "sex" : "n", "hobby" : "commputer" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf6"), "name" : "li", "age" : 10, "sex" : "n", "hobby" : "pingpong" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf8"), "name" : "sun", "age" : 22, "sex" : "n", "hobby" : "sing" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf9"), "name" : "zhou", "age" : 30, "sex" : "n", "hobby" : "dance" }
查看班级中年龄为8岁的学生信息
> db.class.find({age:8})
查看年龄大于10岁的学生信息
> db.class.find({age:{$gt:10}})
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf5"), "name" : "wang", "age" : 15, "sex" : "n", "hobby" : "commputer" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf8"), "name" : "sun", "age" : 22, "sex" : "n", "hobby" : "sing" }
{ "_id" : ObjectId("61f2b8e8fa8b025370ecaaf9"), "name" : "zhou", "age" : 30, "sex" : "n", "hobby" : "dance" }
查看年龄在 4---8岁之间的学生信息
> db.class.find({age:{$gte:4,$lte:8}})
找到年龄为6岁且为男生的学生
> db.class.find({age:6,sex:'m'})
找到年龄小于7岁或者大于10岁的学生
> db.class.find({$or: [{age:{$lt:7}},{age:{$gt:10}}]})
找到年龄是8岁或者11岁的学生
> db.class.find({$or: [{age:8},{age:11}]})
找到兴趣爱好有两项的学生
> db.class.find({hobby:{size:2}})
找到兴趣爱好有draw的学生
> db.class.find({hobby:'draw'})
找到既喜欢画画又喜欢跳舞的学生
> db.class.find({hobby:{$all:['draw','dance']}})
统计爱好有三项的学生人数
> db.class.find({hobby:{$size:3}}).count()
找出本班年龄第二大的学生
> db.class.find({}).sort({age:-1}).skip(1).limit(1)
查看学生的兴趣范围
> db.class.distinct('hobby')
将学生按年龄排序找到年龄最大的三个
> db.class.find().sort({age:-1}).limit(3)
删除所有 年级大于12或者小于4岁的学生
db.class.remove({$or:[{age:{$gt:12}},{age:{$lt:4}}]})
5)增加、更新、删除、统计
db.class.update({name:"小红"},{$set:{age:8}},{$set:{hobby:['draw','dance']}})
将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画
db.class.update({name:"小红"},{$set:{age:8}},{$set:{hobby:['draw','dance']}})
追加小明兴趣爱好 唱歌
db.class.update({name:"小明"},{$push:{hobby:['sing']}})
小王兴趣爱好增加 吹牛 打篮球
db.class.update({name:"小王"},{$push:{hobby:['吹牛','basketball'c]}})
小李增加爱好,跑步和唱歌,但是不要和以前的重复
db.class.update({name:"小李"},{$addToSet:{hobby:{$each:['running','sing']}}})
该班所有同学年龄加1
db.class.update({},{inc:{age:1}})
删除小明的sex属性
db.class.update({name:"小明"},{$unset:{sex:0}})
删除小李兴趣中的第一项
db.class.update({name:"小李"},{$pop:{hobby:-1}})
将小红兴趣中的画画爱好删除
db.class.update({name:"小红"},{$pull:{hobby:'draw'}})
增加分数域 score:{'chinese':88,'english':78,'math':98}
db.class.insert({score:{'chinese':88,'english':78,'math':98}})
1. 按照性别分组统计每组人数
aggregate({$group:{_id:'$sex',num:{$sum:1}}})
2. 按照姓名分组,过滤出有重名的同学
aggregate([{$group:{_id:'$name',num:{$sum:1}}},{$match:{num:{$gt:1}}}])
3. 统计每名男生的语文成绩
aggregate([{$match:{sex:'m'}},{$project:{_id:0,name:1,'score.chinese':1}}])
4. 将女生按照英语分数降序排列
aggregate([{$match:{sex:'w'}},{$sort:{'score.english':-1}}])
NoSQL之MongoDB安装相关推荐
- linux yun 安装 redis,Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)...
如下是我工作中的记录,介绍的是linux系统下NoSQL:MongoDB和Redis的安装过程和遇到的问题以及解决办法: 需要的朋友可以按照如下步骤进行安装,可以快速安装MongoDB和Redis,希 ...
- NoSql、MongoDb 数据库介绍及MongoDb安装、使用
1.数据库和文件的主要区别 数据库有数据库表.行和列的概念,让我们存储操作数据更方便 数据库提供了非常方便的接口,可以让 nodejs.php java .net 很方便的实现增加修改删除功能 2.N ...
- 详细介绍, 不详请@me :nosql 数据库---MongoDB的安装和使用, 同时介绍一个终端控制神器
目录 MongoDB在不同虚拟机系统中的安装步骤: @Centos系统下的Mongodb安装 @ 介绍一个终端控制神器. @介绍ubantu虚拟机中安装mongodb @ Windows本地mongo ...
- mongodb安装_MongoDB索引策略和索引类型
mongodb安装 1. MongoDB索引策略和索引类型–简介 MongoDB是一个开放源代码,面向文档的跨平台数据库,它使用C ++开发,并且是最流行和使用最广泛的NoSQL类型数据库之一. 它可 ...
- mongodb安装_MongoDB和Web应用程序
mongodb安装 当今时代是数据大规模增长的时代. 数据存储不是问题,是的,但是结构化和存储的方式可能会增加或减少所需数据块的查找时间. 不断增长的非结构化数据的用例 脸书: 7.5亿用户处于活跃状 ...
- NoSQL数据库-MongoDB和Redis
NoSQL数据库-MongoDB和Redis 发布于2012-12-20,来源:比特网 1NoSQL简述 CAP(Consistency,Availabiity,Partitiontolera ...
- Spring EclipseLink NoSQL - 使用MongoDB和Oracle NoSQL DB构建
Spring EclipseLink NoSQL - 使用MongoDB和Oracle NoSQL DB构建 我们已经探索了如何实现EclipseLink JPA和众所周知的关系数据库(如MySQL) ...
- MongoDB安装和入门
转载来源 :MongoDB快速入门 : https://mp.weixin.qq.com/s/dgDyJ0PwtHswGykX9UED6w 1 进入MongoDB的世界 随着大数据时代的到来,数据急速 ...
- Windows MongoDB安装配置
2019独角兽企业重金招聘Python工程师标准>>> 请使用新工具: NoSQL Manager for MongoDB,否则:MongoVUE连接报错(Invalid crede ...
- MongoDB——MongoDB安装和增删改查操作
MongoDB基础 MongoDB相关概念 MongoDB 体系结构 数据模型 MongoDB的特点 MongoDB安装 启动MongoDB 启动MongoDB多实例 基本常用命令 选择和创建数据库 ...
最新文章
- 第一个Mybatis程序示例 Mybatis简介(一)
- ASP.NET ASHX中获得Session
- LeetCode题组:第914题-卡牌分组
- C++11中range-based for loops中与的区别
- eclipse没有日志_技术进展 | 加强公共DHT抵抗eclipse攻击!
- WebRTC 中收集音视频编解码能力
- vhosetuser 和 vhostuservlient 差异
- linux 下eclipse调试程序,文章2 Linux安装Eclipse阅读及调试程序
- c位边上还有什么位_c位是什么意思?C位说法的由来是什么?c位旁边二个位置叫什么?...
- C++ gdb core调试 崩溃日志 都是问号??
- UltraEdit中Matlab语法高亮显示的操作方法
- 魔兽世界服务器 运行状态,服务器状态查询,魔兽怀旧服务器状态查询
- 【VUE】vue程序设计----模仿网易严选
- Android 动画系列之 -- 补间动画
- win11邮箱客户端配置邮箱
- 计算机毕业设计Java共享充电宝管理系统(源码+系统+mysql数据库+Lw文档)
- python代码实现自动点击屏幕
- web前端开发面试都喜欢问什么
- html5网页制作代码-我的班级网页 HTML期末大作业 学校班级网页制作模板
- python skimage 填补图像孔洞
热门文章
- 金融评分卡项目—1.数据分析基础知识
- 容器技术的发展与基本原理
- 博文视点程序员读书节,大咖带你共读十日精彩
- Keras 文字生成系统
- iPhone SDK开发基础之使用UINavigationController组织和管理UIView
- 2. MarkText可代替Typora的markdown 编辑器
- 'scipy._lib.messagestream' 以及 'scipy.interpolate.interpnd.array' 解决办法
- Ubuntu 16.04 安装caffe(CPU)以及编译问题处理
- c语言 随机漫步,随机漫步理论
- matlab 切割图像像素,matlab – 使用图形切割与种子点的图像分割