首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python私教MongoDB快速入门教程有录播直播私教课

Docker安装MongoDB

拉取镜像:

docker pull mongo:6.0.2

创建容器:

docker run --name mongo -d -p 27017:27017 mongo:6.0.2

设置用户名和密码:

# 创建mongo容器后,进入容器

docker exec -it mongo bash

# 进入mongo shell

mongosh

# 进入admin数据库

use admin

# 创建用户名和密码

db.createUser({user:'zhangdapeng',pwd:'zhangdapeng520',roles:[{role:'root',db:'admin'}]})

校验用户名和密码:

# 认证登录db.auth('用户名','密码'),打印1则代表认证通过

db.auth('zhangdapeng','zhangdapeng520')

数据库管理

创建数据库:

use db;

查看所有数据库:

show dbs

插入一条数据,再查看所有数据库:

删除数据库:

db.dropDatabase()

show dbs

集合管理

集合相当于一张表,创建一张user集合:

use test

db.createCollection("user")

查看所有的集合:

show collections

创建固定集合 mycol,整个集合空间大小 6142800 B, 文档最大个数为 10000 个。

db.createCollection("mycol", {capped: true, autoIndexId: true, size: 6142800, max: 10000 })

show collections

在 MongoDB 中,你不需要创建集合。当你插入一些文档时,MongoDB 会自动创建集合。

删除集合:

新增文档

向user集合中新增张三:

查询所有的用户:

向user集合中新增李四:

向user集合中新增赵六和田七:

更新文档

update() 方法

update() 方法用于更新已存在的文档。语法格式如下:

参数说明:

query : update的查询条件,类似sql update查询内where后面的。

update : update的对象和一些更新的操作符(如

inc...)等,也可以理解为sql update查询内set后面的

upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。

multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

writeConcern :可选,抛出异常的级别。

实战案例

将张三修改为张三333:

更多实例

只更新第一条记录:

全部更新:

只添加第一条:

全部添加进去:

全部更新:

只更新第一条记录:

使用updateOne修改

使用updateMany修改

删除文档

实战案例

删除张三:

deleteOne删除

删除张三333:

deleteMany删除

删除李四:

删除年龄大于30的用户:

findOneAndDelete删除

删除赵六:

查询文档

条件运算符

逻辑运算符

and运算:

or运算:

实战案例

查询名字叫张三的:

查询年龄小于30的:

查看年龄小于30且大于25的:

查看名字叫张三或者名字叫李四的:

分页查询

实战案例

每页2条数据,查询第2页:

根据年龄排序,每页2条数据,查询第2页:在 MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。

聚合语法

常用操作

这里我们介绍一下聚合框架中常用的几个操作:

$project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。

:用于过滤数据,只输出符合条件的文档。match使用MongoDB的标准查询操作。

$limit:用来限制MongoDB聚合管道返回的文档数。

$skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。

$unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。

$group:将集合中的文档分组,可用于统计结果。

$sort:将输入文档排序后输出。

$geoNear:输出接近某一地理位置的有序文档。

实战案例

查询用户总数:

查询用户平均年龄:

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OOEW2nWJuw5nLC_pFyzJCOtg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券