手把手教Mongo基础命令

一、MongoDB专业术语

在这里插入图片描述

二、表的操作

在操作前需要安装好MongoDB,配置好环境,并保证服务开启,安装地址:https://blog.csdn.net/raojiaxing_/article/details/106342696

(一)创建数据库和删除数据库

显示数据库
在这里插入图片描述
创建数据库,创建表
在这里插入图片描述
第一种删除数据库的方式,清空表。
注意,如果该car数据库中没有任何表,那么该数据库就会消失
在这里插入图片描述

第二种删除数据库的方式,命令
在这里插入图片描述

创建表(带参数)
capped:可覆盖
size:大小 单位(kb)
在这里插入图片描述

(二)插入文档insert

crud的命令集合格式:

use 数据库----切换到指定数据库

db.集合名.CRUD对应方法名-----db.集合.做啥事

1、插入单条

插入数据
在这里插入图片描述
查看数据
在这里插入图片描述

2、插入多条文档

在这里插入图片描述
在这里插入图片描述

_id:系统自动指定,当我们插入文档的时候不指定__id,系统会自动创建,同时将这个字段作为主键和在这个字段位置创建索引。
在这里插入图片描述
在这里插入图片描述

_id不能重复,报错清空如下:
在这里插入图片描述

(三)查询find

语法格式:

db.集合.find(
		查询表达式,
		option,可选参数
	)[.pretty()]
	
	
	pretty()	可写可不写,表示输出的格式美观。
	option:		表示那些列显示那些列不显示
		{field1:1/0}---1:显示,0:不显示

sql中where字句。类似于查询表达式。

1、 范围匹配

- 等于:{field:value}表示field=value
-  $lt---小于:{field:{$lt:value}}表示:field<value

-  $gt---大于:{field:{$gt:value}}表示:field>value

-  $lte---小于等于:{field:{$lte:value}}表示:field<=value

-  $gte--- 大于等于:{field:{$gte:value}}表示:field>=value

-  $ne---不等于:{field:{$ne:value}}表示:field!=value

2、复杂的条件—逻辑关系

且:{$and:[{条件1},{条件2},{条件3}.....]}

或::{$or:[{条件1},{条件2},{条件3}.....]}

非:{$nor:[{条件1},{条件2},{条件3}.....]}

3、案例

查询表结构:在这里插入图片描述
先插入数据
在这里插入图片描述

实例1:查询goods_id为4的商品,不显示_id字段
先普通查看
在这里插入图片描述
加入条件筛选
在这里插入图片描述

可选参数使用:显示那些列指定1即可,其他列(除了_id以外)都会不显示。
在这里插入图片描述

实例2:取出不属于第3栏目且不属于第11栏目的商品

方式1 $nin:
在这里插入图片描述
方式2 $and:
在这里插入图片描述

方式3 $nor:
在这里插入图片描述

实例3:取出价格大于100且小于300,或者大于4000且小于5000的商品

在这里插入图片描述
在这里插入图片描述
sort函数:
在这里插入图片描述

(四)删除remove

语法格式:

db.集合名.remove(
	{查询表达式},
	options
)

options:{justOne:true/false}:
默认是	false(全部删除),
		true:只删除一条

实例:在goods集合中删除goods_id为1的文档。在这里插入图片描述

(五)更新(重点)

语法:

db.集合.update(
	{查询表达式},
	更新的内容,
	options,
)

	options:{
        upsert:有则更新,无则插入,
        multi:是否更新多个,默认是false,只更新一条,如果为true,全部更新
	}

(1)新文档替换旧文档(出题)
第二个参数:更新内容如果是一个文档,那么就是新文档替换旧文档。
在这里插入图片描述

(2)更新:

第二个参数:更新内容就必须是**更新表达式。**

更新表达式:
  • $set 修改某列的值(最常用)

  • 将goods_id为3的商品价格变成2000

在这里插入图片描述

  • $rename 重命名某个列
  • 将goods_number小于2的文档的cilck_count改成count_click

在这里插入图片描述

  • l $inc 增长某个列m

  • 将goods_id为11的商品的价格降低100

在这里插入图片描述
upsert=true可选参数:有则更新,无则插入,

有:查询表达式匹配到了数据---做更新

无:查询表达式没有找到数据----做插入

		{

			goods_id,#可以作为这条数据的唯一标识

			good_name,

		}

在爬虫中,一般不适用insert插入方法:每次插入的时候都会成功。如果爬虫运行了一半断了,我们重新启动爬虫,之前的爬下来的数据又会重新再尾部在插入一遍。配合增量爬虫

在爬虫中一般使用update方法作为数据保存方法。--配合upsert=true这种方式就是【增量爬虫】的一种措施。

在这里插入图片描述

(六)导入导出

在这里插入图片描述

mongoexport---导出
	-d 库名
	-c 集合名
	-f field名 (不写就是全部导出,指定csv方式导出的时候必须指定列名)
	-q 查询条件(查询表达式)(不写就是全部导出)
	-o 导出的文件(文件的全路径)
	--type 文件的类型(json,csv)——---默认就是json,如果json格式导出可以不写
	

1、导出json格式

也可以作为备份数据的一种方式
在这里插入图片描述
在这里插入图片描述

2、导出csv格式

在这里插入图片描述

mongoimport ---导入
	-d 库名
	-c 集合名
	--file 导入的文件路径
	

批量导入json文件中数据。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值