MongoDB的安装与简单使用
一、安装MongoDB的步骤
注:本教程全部统一采用hadoop用户名登录Linux系统,用户名:hadoop 密码:hadoop
- 首先,在Linux系统中打开一个终端,执行如下命令导入公共秘钥到包管理器中:
$sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
- 然后,创建MongoDB的文件列表,命令如下:
$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list
- 执行如下命令来更新包管理器
$ sudo apt-get update
- 最后,执行如下命令安装MongoDB:
$ sudo apt-get install -y mongodb-org
- 安装完成后,在终端输入以下命令查看MongoDB版本:
$ mongo -version
- 安装成功以后,启动MongoDB的命令如下:
$ systemctl daemon-reload
$ systemctl start mongod
- 默认设置下,MongoDB是随Ubuntu启动而自动启动的。可以输入以下命令查看是否启动成功:
$ pgrep mongo -l #注意:-l是英文字母l,不是阿拉伯数字1
- 使用MongoDB结束后,关闭MongoDB的命令如下:
$ sudo service mongodb stop
二、使用shell命令操作MongoDB
1、进入MongoDB的shell命令
- 在Linux系统打开一个终端,输入如下命令启动MongoDB:(密码为:hadoop)
$ systemctl daemon-reload
$ systemctl start mongod
- 再输入如下命令进入MongoDB Shell模式:
$ mongo
- 进入MongoDB Shell模式以后,默认连接的数据库是test数据库,可以在命令提示符“>”后面输入各种Shell命令来操作MongoDB数据库。
2、常用操作命令
如果要创建一个名称为“School”的数据库,需要先运行“use School”命令,之后做一些操作,比如,使用命令“db.createCollection('teacher')”创建集合,这样就可以创建一个名称为“School”的数据库,执行过程如下。
(1)切换到School数据库( 注意,MongoDB无需预创建School数据库,在使用时会自动创建。)
> use school
补充:
use命令:如果数据库不存在,则创建数据库,否则切换到指定数据库;
如果发现刚刚敲错了,写成了use school1;这时候,希望删除school1这个数据库,就切换到该数据库下,再键入删除命令;
>use school1;
>db.dropDatabase();
(2)创建集合
> db.createCollection('teacher')
(3)插入数据(与数据库创建类似,插入数据时也会自动创建集合。)
插入数据有两种方式:insert和save,具体命令如下:
> db.student.insert({_id:1, sname: 'zhangsan', sage: 20}) #_id可选
> db.student.save({_id:1, sname: 'zhangsan', sage: 22}) #_id可选
这两种方式,其插入的数据中id字段均可不写,系统会自动生成一个唯一的id来标识本条数据。
insert和save两者的区别在于:
- 在手动插入id 字段时,如果id已经存在,insert不做操作,而save会做更新操作;
- 如果不加_id字段,两者作用相同,都是插入数据
添加的数据的结构是松散的,只要是bson格式均可,列属性均不固定,以实际添加的数据为准。可以先定义数据再插入,这样就可以一次性插入多条数据,如下图所示。

(4)查找数据
> db.youCollection.find(criteria, filterDisplay)
备注:
criteria:查询条件,可选
filterDisplay:筛选显示部分数据,如显示指定列数据,可选(当选择时,第一个参数不可省略,若查询条件为空,可用{}做占位符)
- 查询所有记录 ( 该命令相当于关系数据库的SQL 语句“select * from student”。)
> db.student.find()
- 查询sname='lisi'的记录(该命令相当于关系数据库的SQL 语句“select * from student where sname='lisi'”。)
> db.student.find({sname: 'lisi'})
- 查询指定列sname、sage数据
> db.student.find({},{sname:1, sage:1})
该命令相当于关系数据库的SQL 语句“select sname,sage from student”。
其中,sname:1表示返回sname列,默认id字段也是返回的,可以添加id:0(意为不返回id),写成{sname: 1, sage: 1,id:0},就不会返回默认的_id字段了。
- AND条件查询
> db.student.find({sname: 'zhangsan', sage: 22})
该命令相当于关系数据库的SQL 语句“select * from student where sname = 'zhangsan' and sage = 22”。
- OR条件查询
> db.student.find({$or: [{sage: 22}, {sage: 25}]})
该命令相当于关系数据库的SQL 语句“select * from student where sage = 22 or sage = 25”。
- 格式化输出
对于查询结果,也可以采用pretty()进行格式化输出,命令执行结果如下图所示。

(5)修改数据
> db.youCollection.update(criteria, objNew, upsert, multi )
- criteria:update的查询条件,类似sql update查询内where后面的
- objNew:update 的对象和一些更新的操作(如$set)等,也可以理解为 sql update 查询内set后面的
- upsert:如果不存在update的记录,是否插入objNew, true为插入,默认是false,不插入。
- multi:mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多余的记录全部更新。默认false,只修改匹配到的第一条数据。
- 其中criteria和objNew是必选参数, upsert和 multi是可选参数
这里给出一个实例,语句如下:
> db.student.update({sname: 'lisi'}, {$set: {sage: 30}}, false, true)
该命令相当于关系数据库的SQL 语句“update student set sage =30 where sname = 'lisi';”。
(6)删除数据
> db.student.remove({sname: 'chenliu'})
该命令相当于关系数据库的SQL 语句“delete from student where sname='chenliu'”。
(7)删除集合
> db.student.drop()
(8)退出MongoDB Shell模式
可以输入如下命令退出MongoDB Shell模式:
> exit
或者也可以直接按键盘的Ctrl+C组合键,退出Shell命令模式。
MongoDB的安装与简单使用的更多相关文章
- python操作三大主流数据库(7)python操作mongodb数据库①mongodb的安装和简单使用
python操作mongodb数据库①mongodb的安装和简单使用 参考文档:中文版:http://www.mongoing.com/docs/crud.html英文版:https://docs.m ...
- MongoDB下载安装与简单增删改查
Windows下MongoDB的安装和配置.启动和停止 下载地址:MongoDB的官方下载网址是:https://www.mongodb.org/downloads 安装步骤1. 点击下载的mongo ...
- mongodb的安装与简单操作
MongoDB中文社区:http://www.mongoing.com 数据库的使用场景 SQL(关系型数据库):MySQL.SQLServer --->磁盘操作 1.高度事务性的场景 ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- Mongodb的安装--简单快速
由于需要在服务器安装mongodb,所以就对Mongodb的安装进行了了研究,在了解安装过程之前,先了解一下Mongodb,Mongodb是什么? 是什么? MongDB是结余关系数据库和非关系数据库 ...
- C#分布式缓存一:Couchbase的安装与简单使用
一.简介 目前C#业界使用得最多的 Cache 系统主要是 Memcached和 Redis. 这两个 Cache 系统可以说是比较成熟的解决方案,也是很多系统当然的选择. Memcache的开发团队 ...
- MongoDB的安装 转
第1章 MongoDB的安装 (黎明你好原创作品,转载请注明) 1.1 MongoDB简介 MongoDB是一个基于分布式文件存储的数据库开源项目.由C++语言编写,旨在为WEB应用提供可护展的高性能 ...
- MongoDB下载安装
MongoDB官方下载地址:http://www.mongodb.org/ 一.在Windows平台下的安装 1.下载MongoDB数据库 2.设置MongoDB程序存放目录 下载完数据库后,直接解压 ...
- MongoDB(二)——安装配置了解
前边介绍了MongoDB的大概理论知识,这篇来对MongoDB进行一下安装使用,支持安装在windows和linux上,当然了很多其它情况下我们是安装在linux上,由于毕竟server用linux的 ...
随机推荐
- Qt Quick 常用元素:ComboBox(下拉列表) 与 ProgressBar(进度条)
一.ComboBox ComboBox,即下拉列表框,由一个列表框和一个标签控件(或编辑控件)组成.ComboBox 的下拉列表是使用 Menu 实现的,列表内的每个条目对应一个 Menultem. ...
- session的工作原理与session用法
一直在使用session存储数据,一直没有好好总结一下session的使用方式以及其工作原理,今天在这里做一下梳理. 这里的介绍主要是基于php语言,其他的语言操作可能会有差别,但基本的原理不变. 1 ...
- Vue.js 源码分析(十四) 基础篇 组件 自定义事件详解
我们在开发组件时有时需要和父组件沟通,此时可以用自定义事件来实现 组件的事件分为自定义事件和原生事件,前者用于子组件给父组件发送消息的,后者用于在组件的根元素上直接监听一个原生事件,区别就是绑定原生事 ...
- [转帖]龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上
龙芯3A4000处理器实测:28nm工艺不变 性能仍可提升100%以上 http://news.mydrivers.com/1/663/663122.htm 龙芯是中科院下属的计算机所研发的自主产权国 ...
- 【1】hexo+github搭建个人博客的过程记录
前提: 1.新建一个github仓库 2.安装配置Node.js 3.安装配置Git 前提 步骤1.新建一个github仓库 打开github网站,(注册)登录账号,新建一个仓库; 注:仓库名称要求, ...
- 关于PHP Fatal error: Invalid handle returned
我在使用thinkphp5使用pdo的方式连接sqlserver的时候出现如此错误 尝试了网上的多种方法 PHP Fatal error: Invalid handle returned 端口写在了 ...
- 用jquery写自己的form表单验证
这几天看了锋利的jquery,感觉很不错.特别是jquery强大的选择器.今天就利用jquery写了一个自己的form表单验证的小案例.当巩固下jquery.首先贴下代码,当然只是一个小案例. 思路: ...
- Sqlserver MERGE 的基础用法
版权声明:本文为CSDN博主「暮雪寒寒」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/qq_2762801 ...
- Winfrom devexpress 通用权限框架
毕业到现在也快两年了,手上的项目也有好几个,但总感觉不是狠理想,近来把手上杂七杂八的项目整理了一下,结合各个项目的优点,重新开发了一套winfrom+devexpress 通用权限(CS)框架(BS版 ...
- Delphi - 利用TRzTrayIcon实现WinFrm工程最小化到托盘
第三方RC控件的安装 浏览器搜索Delphi Rz控件下载,找到下载一个安装文件,解压后点击RC3.exe一键安装. Delphi WinFrm工程最小化到托盘 Delphi新建WinFrm工程,在主 ...