MongoDB数据库操作---终端操作

初识MongoDB

概念:

这里写图片描述

特点

这里写图片描述


相关安装

我这边用的是MAC版本
在使用mongodb之前,我们需要给它配置一个macOS缺失的软件包管理器,叫做HomeBrew,链接是:HomeBrew
对应的,windows版本的也有一个软件包管理器,叫做Chocolatey,链接是:Chocolatey
然后我们这边主要说一下,homebrew的安装。
点击以上链接,进入到homebrew主页,可以看到以下的界面:
这里写图片描述
它本身支持很多语言,所以你可以点击标题下面的下拉选项框选择简体中文,就是我们熟悉的汉字啦,然后就想图片中说的,复制下面那个链接到终端上执行,就是在进行安装了,命令行如下:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装MongoDB

安装完HomeBrew,然后建一个文件夹中,里面再建一个名为database的文件夹,就可以在终端中,执行安装mongodb的命令行了,当然了首先你要确保操作是在当前文件夹下执行的。安装命令如下:

brew install mongod

安装后的操作

启动

安装完以后,需要启动mongoose服务器:

mongod --dbpath=拖过来的文件夹路径/我们建好的database目录

这里写图片描述
注意我图中所标识的位置即可。

进入MongoDB环境

在进入环境之前,需要commond+N开启一个新的终端页面,然后之前那个也不要关闭,最小化放在页面上即可。
之后,输入命令进入mongodb环境:

mongo

这里写图片描述
注意我图中所标识的位置即可。


MongoDB数据库的操作

基础操作

首先,我们先来介绍一些基本的操作命令行:

查看数据库:show dbs
选择要操作的数据库:use DBNAME
查看集合:show collections
查看集合中的信息:db.COLLECTIONNAME/集合名称.find()
查看当前操作的数据库:db 或者 db.getName()

具体使用见下图:

这里写图片描述

(1)创建数据库
use 要创建的库名
添加数据才会创建成功:db.COLLECTION.insert(),其中id索引会自动递增
(2)选中已存在的数据库进行操作
选中数据库:use name
删除数据库:db.dropDatabase()
创建集合:db.createCollection(“集合名”)
删除集合:db.集合名.drop()

上面的创建和删除我就不再操作,因为比较懒,不想创建了,再给它删掉,哈哈哈,好了,接下来我们一起来看看数据库的增删改查的操作。

MongoDB增删改查

增加数据:insert
db.COLLECTIONNAME.insert()

这里写图片描述
这里值得一提的是,mongodb对集合的操作允许不一一对应的操作,不像本地服务器那样,必须一个字段对应一个值什么的,在这里它显得格外的灵活。
这里写图片描述

好了,加了两条数据之后,我们来看一下集合中到底加没加的进去,图片如下:
这里写图片描述

数据删除remove
db.COLLECTIONNAME.remove({条件},{配置项/可选})
配置项:justOne:true
没有配置项,就删除所有符合条件的
有配置项,就删除一项

现在我们去删除一条:
这里写图片描述
我们删除了集合中名为“fafa”的那一条,这里配置项,加不加都只删除一项,毕竟名为“fafa”的也就只有一条,哈哈哈

修改数据update
db.COLLECTIONNAME.update({条件},{内容($set)},{配置项})
配置项:multi:true
没有配置项默认更新一条
有配置项更新所有符合条件的
注意:这一点与remove有点不一样哦

这里写图片描述

查询数据find

数据库操作最繁琐的就是查询数据,因为我们最最伟大的脑子总是能想到各种奇葩的条件去获取需要的数据,这也是很让人头大的,唉~但是没办法啊,我们还是的好好学习,谁让我们是程序猿呢,唉~好了,现在我们一起来啃这块不好啃的骨头吧。

查询所有:
db.COLLECTIONNAME.find()

这一条我们上面已经用过很多次了,在这里就不在赘述了。

格式化数据:
db.COLLECTIONNAME.find().pretty()

这一条一般不用它,我也就不试了,集体就是按照一定的规范去查询数据。

条件查询:

(1)大于小于呀什么的

gt大于,lt小于,
大于等于gte,小于等于lte,
不等于ne,
等于:直接冒号

例如:我们查询年龄小于30岁的
这里写图片描述
(2)以什么什么开头的等等
这里也就是说明,查询的条件可以用正则表达式来匹配
我们来查一个名字姓张的
这里写图片描述

并且关系

用“,”逗号表示
其实就是有多个查询条件的,比如,我们查一个姓张,且身高为174cm的人
就这样,我偷偷的又添加了一条174cm的张娜拉,然后取出来是这样的
这里写图片描述

或者关系

用$or:[]表示
例如:我们找姓张的,或年纪小于30的
这里写图片描述

指定取几条/分页相关的查询
db.COLLECTIONNAME.find().skip(num).limit(num) 跳过前num条,查num条的意思

这里写图片描述
当然,如果你还想再find()里面加上其他条件也是可以的。

排序查询/正序倒序
db.COLLECTIONNAME.find().sort({age:1})
这个的意思就是以年龄为条件,正序查找
其中:1代表正序,-1代表倒序

这里写图片描述

查询一条
db.COLLECTIONNAME.findOne()默认查询集合中的第一条
查询集合中数据的数量
db.COLLECTIONNAME.find().count()

猜你喜欢

转载自blog.csdn.net/mytljp/article/details/79182167