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

相关推荐
lyrhhhhhhhh5 分钟前
JDBC工具类的三个版本
数据库
正在走向自律21 分钟前
【金仓数据库征文】政府项目数据库迁移:从MySQL 5.7到KingbaseES的蜕变之路
数据库·mysql·kingbasees·金仓数据库 2025 征文·数据库平替用金仓
黑客笔记2 小时前
sql注入漏洞的对抗
数据库·sql·测试工具
tianlebest2 小时前
Laravel 安全:批量赋值 fillable 与 guarded
数据库·安全·laravel
bing_1582 小时前
Spring Boot 中如何启用 MongoDB 事务
spring boot·后端·mongodb
小叶子来了啊2 小时前
软考(信息系统运行管理员)
数据库
chunfeng—2 小时前
Redis 主从同步与对象模型(四)
数据库·redis·缓存·集群·哨兵
大数据魔法师2 小时前
MongoDB(六) - Studio 3T 基本使用教程
mongodb·nosql
Leo.yuan3 小时前
热力图是什么?三分钟学会热力图数据分析怎么做!
大数据·数据库·数据挖掘·数据分析·html
张哈大3 小时前
【 Redis | 实战篇 缓存 】
数据库·redis·笔记·spring·缓存