MongoDB-数据库文档操作(2)

任务描述

文档数据在 MongoDB 中的查询和删除。

相关知识

本文将教你掌握:

  1. 查询文档命令;
  2. 删除文档命令。
查询文档

我们先插入文档到集合 stu1 :

复制代码
document=([{
name:'张小华',
sex:'男',
age:20,
phone:'12356986594',
hobbies:['打篮球','踢足球','唱歌']
},{
name:'李小红',
sex:'女',
age:18,
phone:'12355487536',
hobbies:['跳舞','唱歌']
}])

db.stu1.insert(document)

然后查看 stu1 ,命令和结果如图1所示(因为我们没有设置_id,所以 MongoDB 会默认生成:

图 1

上述显示的文档格式不够整齐,我们可以使用 pretty() 方法,使输出更整齐,如图2所示:

图 2

条件查询
操作 格式 范例 关系数据库中类似的语句
等于 {<key>:<value>} db.stu1.find({"name":"李小红"}).pretty() where name = '李小红'
小于 {<key>:{$lt:<value>}} db.stu1.find({"age":{$lt:18}}).pretty() where age < 18
小于或等于 {<key>:{$lte:<value>}} db.stu1.find({"age":{$lte:18}}).pretty() where age <= 18
大于 {<key>:{$gt:<value>}} db.stu1.find({"age":{$gt:18}}).pretty() where age > 18
大于或等于 {<key>:{$gte:<value>}} db.stu1.find({"age":{$gte:18}}).pretty() where age >= 18
不等于 {<key>:{$ne:<value>}} db.stu1.find({"age":{$ne:18}}).pretty() where age != 18

现在我们来查找一下 age 大于18岁的数据,命令和效果如图3所示:

图 3

AND 条件

find() 方法可以传入多个键 (key),每个键 (key) 以逗号隔开,即常规 SQL 的 AND 条件。如查询集合 stu1 中年龄为20岁的男性信息:

复制代码
db.stu1.find({"age":20, "sex":"男"}).pretty()

查询结果如图4所示:

图 4

删除文档数据

删除指定的数据:

复制代码
db.stu1.remove({'age':20}) //删除年龄为20的数据

查看该集合的内容,如果只剩下如图5所示的信息,说明数据删除成功:

图 5

删除全部数据(集合并不会删除):

复制代码
db.remove({})

查看该集合的内容,如果如图6所示,无显示或者显示为空,说明数据全部删除:

图 6

相关推荐
倔强的石头_6 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou641 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
AI全栈实验室4 天前
MongoDB迁移金仓踩了5个坑,最后一个差点回滚
mongodb
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐4 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再4 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip