Linux安装MongoDB及简单命令

1.MongoDB简介

MongoDB是一个基于分布式文件存储的文档数据库,介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富、最像关系数据库的一种NoSQL数据库。MongoDB支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB最大的特点是支持的查询语言非常强大,语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

2.安装MongoDB

MongoDB既可以安装在Windows系统下使用,也可以安装在Linux系统下使用,这里采用Linux系统。MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装。

但是,需要说明的是,如果直接使用“sudo apt-get install mongodb”命令进行安装,默认安装的版本是MongoDB 2.6.10。由于目前MongoDB已经升级到4.0.16,这里将通过添加软件源的方式来安装4.0.16版本。

首先,在Linux系统中打开一个终端,执行如下命令导入公共秘钥到包管理器中(Hadoop密码为hadoop):

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

然后,创建MongoDB的文件列表,命令如下:

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb.list

执行如下命令来更新包管理器:

sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update

最后,执行如下命令安装MongoDB:

sudo apt install mongodb-org
sudo apt install mongodb-server

......

安装完成后,在终端输入以下命令查看MongoDB版本:

mongo -version

如果能够输出版本信息,则表明安装成功。

安装成功以后,启动MongoDB的命令如下:

sudo service mongodb start

默认设置下,MongoDB是随Ubuntu启动而自动启动的。可以输入以下命令查看是否启动成功:

pgrep mongod -l   #注意:-l是英文字母l,不是阿拉伯数字1

3.使用Shell命令操作MongoDB

(1)进入MongoDB Shell模式

在Linux系统打开一个终端,输入如下命令启动MongoDB:

sudo service mongodb start

再输入如下命令进入MongoDB Shell模式:

mongo

进入MongoDB Shell模式以后,默认连接的数据库是test数据库,可以在命令提示符“>”后面输入各种Shell命令来操作MongoDB数据库。

(2)常用操作命令

如果要创建一个名称为“School”的数据库,需要先运行“use School”命令,之后做一些操作,比如,使用命令“db.createCollection('teacher')”创建集合,这样就可以创建一个名称为“School”的数据库。

show dbs
use School
db.createCollection('teacher')

执行上述命令过程的屏幕截图如下图所示。

(3)简单操作演示

下面以一个School数据库为例进行操作演示,将在School数据库中创建两个集合teacher和student,并对student集合中的数据进行增、删、改、查等基本操作。需要说明的是,文档数据库中的集合(Collection),相当于关系型数据库中的表(table)。

1)切换到School数据库

命令如下:

use School

注意,MongoDB无需预创建School数据库,在使用时会自动创建。

2)创建集合

创建集合(Collection)的命令如下:(重复创建会报错,如下所示)

db.createCollection('teacher')

实际上,MongoDB在插入数据的时候,也会自动创建对应的集合,无需预定义集合。

3)插入数据

与数据库创建类似,插入数据时也会自动创建集合。插入数据有两种方式:insert和save,具体命令如下:

db.student.insert({_id:1,sname: 'zhangsan',sage: 20})  #_id可选
db.student.save({_id:1,sage: 22})  #_id可选

这两种方式,其插入的数据中_id字段均可不写,系统会自动生成一个唯一的_id来标识本条数据。insert和save二者的区别在于:在手动插入_id字段时,如果_id已经存在,insert不做操作,而save会做更新操作;如果不加_id字段,两者作用相同,都是插入数据。上述命令执行过程的屏幕截图如下图所示。

添加的数据的结构是松散的,只要是bson格式均可,列属性均不固定,以实际添加的数据为准。可以先定义数据再插入,这样就可以一次性插入多条数据,如下图所示。

s=[{sname:'list',sage:20},{sname:'wangwu',{sname:'chenliu',sage:20}]
db.student.insert(s)
db.student.find()

运行完以上例子,student已自动创建,这也说明MongoDB不需要预先定义集合(collection),在第一次插入数据后,集合会被自动创建。此时,可以使用“show collections”命令查询数据中当前已经存在的集合,如下图所示。

show collections

4)查找数据

查找数据所使用的基本命令格式如下:(不用在mongodb shell里执行)

db.youCollection.find(criteria,filterDisplay)

其中,criteria表示查询条件,是一个可选的参数;filterDisplay表示筛选显示部分数据,如显示指定某些列的数据,这也是一个可选的参数,但是,需要注意的是,当存在该参数时,第一个参数不可省略,若查询条件为空,可用{}做占位符。

●查询所有记录

db.student.find()

该命令相当于关系数据库的SQL 语句“select * from student”。

●查询sname='list'的记录

db.student.find({sname: 'list'})

该命令相当于关系数据库的SQL 语句“select * from student where sname='list'”。

●查询指定列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()进行格式化输出。

db.student.find().pretty()

5)修改数据

修改数据的基本命令格式如下:

db.youCollection.update(criteria,objNew,upsert,multi )

这里给出一个实例,语句如下:

db.student.update({sname: 'lisi'},{$set: {sage: 30}},false,true)

该命令相当于关系数据库的SQL 语句“update student set sage =30 where sname = 'list';”。

6)删除数据

db.student.remove({sname: 'chenliu'})

该命令相当于关系数据库的SQL 语句“delete from student where sname='chenliu'”。

执行该命令过程如下图所示。

7)删除集合

db.student.drop()

(4)退出MongoDB Shell模式

可以输入如下命令退出MongoDB Shell模式:

exit

或者也可以直接按键盘的Ctrl+C组合键,退出Shell命令模式。

原文地址:https://blog.csdn.net/qq_43695848/article/details/124968272

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读552次。com.mongodb.MongoQueryException: Query failed with error code 292 and error message 'Executor error during find command :: caused by :: Sort exceeded memory limit of 104857600 bytes, but did not opt in to external sorting.' on server 11.51.141.63:27017 _mongodb 大文件 下载失败
文章浏览阅读635次,点赞9次,收藏8次。MongoDB 是一种 NoSQL 数据库,它将每个数据存储为一个文档,这里的文档类似于 JSON/BSON 对象,具体数据结构由键值(key/value)对组成。
文章浏览阅读2.1k次。和。_mongodb 日期类型
文章浏览阅读1.7k次。Scalestack等客户期待使用MongoDB Atlas Vector Search和Amazon Bedrock构建下一代应用程序
文章浏览阅读970次。SpringBoot整合中间件mongodb、ES_springboot3 elasticsearch json数据
文章浏览阅读673次。MongoDB 简介_尚医通sql
文章浏览阅读1k次,点赞8次,收藏9次。官网下载MongoDB安装包后进行解压(因了解并不深入,故暂不进行详细说明,自行查找其他安装方法,后期了解深入后将进行该教程的完善)在bin目录下使用命令启动:./mongod --config …/mongodb.conf。该文章任然处于完善中,如果存在错误遗漏的地方,欢迎私信联系。安装相关的nuget包后即可通过以下方法连接数据。YX9010_0@的第二十篇文章。
文章浏览阅读1.2k次,点赞17次,收藏26次。社交场景, 使用 MongoDB 存储存储用户信息, 以及用户发表的朋友圈信息, 通过地理位置索引实现附近的人, 地点等功能.游戏场景, 使用 MongoDB 存储游戏用户信息, 用户的装备, 积分等直接以内嵌文档的形式存储, 方便查询, 高效率存储和访问.物流场景, 使用 MongoDB 存储订单信息, 订单状态在运送过程中会不断更新, 以 MongoDB 内嵌数组的形式来存储, 一次查询就能将订单所有的变更读取出来.物联网场景, 使用 MongoDB 存储所有接入的智能设备信息, 以及设备汇报的日
文章浏览阅读686次。您可以使用 update_one() 方法来更新 MongoDB 中调用的记录或文档。update_one() 方法的第一个参数是 query 对象,用于定义要更新的文档。注释:如果查询找到多个记录,则仅更新第一个匹配项。第二个参数是定义文档新值的对象。_python 更新 mongodb 数据
文章浏览阅读1.3k次。首先来学习一下nosql这里安装就不进行介绍 只记录一下让自己了解mongodb。_nosql注入
文章浏览阅读4.1k次,点赞8次,收藏7次。在data的目录下,创建一个db文件。因为启动MongoDB服务之前必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。第一步:安装时,Custom是指可以自定义安装路径,然后傻瓜式安装即可(注意:先不要安装图形化工具,否则安装时间会特别长):如果要想连接成功,必须要开服务,即mongod -dbpath C:MongoDBdatadb的cmd要一直开着。然后回车,ctrl+F输入port找到端口号,一般为:27017。打开命令行,然后找到bin文件地址,并输入。_mongodb windows安装
文章浏览阅读5.1k次,点赞3次,收藏43次。详细介绍MongoDB数据库的基本知识,安装方法,基本操作,_mongodb数据库
文章浏览阅读3.2k次。安装教程翻看以往文章。_navicat 连接mongodb
文章浏览阅读426次,点赞9次,收藏12次。win10开放端口:https://blog.csdn.net/m0_43605481/article/details/119255256。我的是阿里云服务器,所以直接在安全组中加入规则,端口范围:27017,授权对象:0.0.0.0。windows在mongodb安装文件夹的bin文件夹中的mongod.cfg。数据库名字是test,打算创建一个用户,账号aaa,密码bbb,权限readWrite。因为该用户是创建在test数据库的,所以在最后要加上test。O了,然后恢复了test的数据。
文章浏览阅读1.1k次。聚合操作主要用于处理数据并返回计算结果。聚合操作将来自多个文档的值组合在一起,按条件分组后,再进行一系列操作(如求和、平均值、最大值、最小值)以返回单个结果。MongoDB的聚合查询​聚合是MongoDB的高级查询语言,它允许我们通过转化合并由多个文档的数据来生成新的在单个文档里不存在的文档信息。MongoDB中聚合(aggregate)主要用于处理数据(例如分组统计平均值、求和、最大值等),并返回计算后的数据结果,有点类似sql语句中的count(*)、groupby。..._如何将几个db的数据统整在一起做查询
文章浏览阅读680次,点赞7次,收藏8次。(2)application.properties配置文件。(4)UserService类。(5)测试和测试结果。
文章浏览阅读1k次,点赞17次,收藏25次。Studio 3T 2023.9 (macOS, Linux, Windows) - MongoDB 的专业 GUI、IDE 和 客户端,支持自然语言查询_mongodb客户端
文章浏览阅读1.1k次,点赞32次,收藏27次。插件式的存储引擎架构可以实现 Server 层和存储引擎层的解耦,可以支持多种存储引擎,如 MySQL 既可以支持 B-Tree 结构的 InnoDB 存储引擎,还可以支持 LSM 结构的 RocksDB 存储引擎。MongoDB 中的记录就是一个 BSON 文档,它是由键值对组成的数据结构,类似于 JSON 对象,是 MongoDB 中的基本数据单元。的简称,是 JSON 文档的二进制表示,支持将文档和数组嵌入到其他文档和数组中,还包含允许表示不属于 JSON 规范的数据类型的扩展。
文章浏览阅读5.1k次,点赞6次,收藏96次。本文设计了一种基于智能室内温度控制的自动调速风扇。以STM32系列单片机为核心主控板,通过程序代码驱动和使用温度传感器模块实现对环境温度的实时监测,并可以实时显示环境温度。同时,可以设置温度检测的上下警告值,根据需求自行调节。_stm32 温控风扇
文章浏览阅读898次,点赞13次,收藏21次。在MongoDB中,我们使用find()和find_one()方法来在集合中查找数据,就像在MySQL数据库中使用SELECT语句来在表中查找数据一样。_pymongo find_one