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

相关推荐
java_heartLake4 小时前
PostgreSQL数据库参数调优实践
数据库·postgresql·调优
xnuscd6 小时前
Milvus概念
数据库·学习·mysql
代码欢乐豆6 小时前
软件工程第13章小测
服务器·前端·数据库·软件工程
小gpt&7 小时前
实现qt拖拽显示或者播放
数据库·qt·音视频
望获linux7 小时前
在 ARM 平台上如何实现Linux系统的1秒启动
linux·服务器·开发语言·数据库·操作系统·嵌入式操作系统·arm平台
漫天转悠7 小时前
MySQL 七种JOIN连接详解
数据库·mysql
尘浮生7 小时前
Java项目实战II基于Java+Spring Boot+MySQL的智能停车计费系统(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·mysql·微信小程序·maven
quintin-lee7 小时前
PostgreSQL中的内存上下文管理
数据库·postgresql
蚂蚁在飞-8 小时前
一个高度可扩展的 Golang ORM 库【GORM】
数据库·oracle·golang
hai405878 小时前
Spring Boot整合Redis Stack构建本地向量数据库相似性查询
数据库·spring boot·redis