6.查询文档
Mongodb一般使用的是find进行查询文档
关于find:
- find 是Mongodb中查询数据的基本指令,相当于SQL中的select
- find返回的游标
find示例:
db.movies.find({"year":1975}) //单条件查询
db.movies.find({"year":1989,"titile":"Batman"}) //多条件and查询
db.movies.find({$and:[{"title":"batman"},{"category":"action"}]}) //and查询的另一种形式
db.movies.find({$or:[{"year":1989},{"title":"batman"}]}) //多条件or查询
db.movies.find({"title":/^B/}) //按正则表达式查找
查询条件对照表:
a=1 AND b=1 {a:1,b:1} 或者{$and: [{a:1},{b:1}]}
a=1 OR b=1 {$or :[{a:1},{b:1}]}
a IS NULL {a:{$exists:false}}
a IN (1,2,3) {a:{$in:[1,2,3]}}
- $lt:存在并小于
- $lte:存在并小于等于
- $gt:存在并大于
- $gte:存在并大于等于
- $ne:不存在或存在但不等于
- $in:存在并在指定数组中
- $nin:不存在或不在指定数组中
- $or:匹配两个或多个条件中的一个
- $and:匹配全部条件
使用find 支持使用"field.sub_field"的形式查询子文档。
> db.fruit.insertOne({name:"apple",from:{count:"china",province:"Guangdong"}}) //插入子文档 { "acknowledged" : true, "insertedId" : ObjectId("625a7016a1fbd7dca4520187") } > > > db.fruit.find().pretty() //查询文档 { "_id" : ObjectId("625a67daa1fbd7dca4520184"), "name" : "apple", "from" : "China" } { "_id" : ObjectId("625a67daa1fbd7dca4520185"), "name" : "pear" } { "_id" : ObjectId("625a67daa1fbd7dca4520186"), "name" : "orange" } { "_id" : ObjectId("625a7016a1fbd7dca4520187"), "name" : "apple", "from" : { "count" : "china", "province" : "Guangdong" } }
这里我们怎样来查看子文档
> db.fruit.find({"from.count":"china"}) { "_id" : ObjectId("625a7016a1fbd7dca4520187"), "name" : "apple", "from" : { "count" : "china", "province" : "Guangdong" } } //这种是正确的 > > db.fruit.find({"from":{count:"china"}}) //这种是错误的,查出来的是空值。。。
这里可以看到如果想要查询子文档的话,必须要用字段1.字段2 : "value" 方式来进行查询。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-04-16 5.Linux查看物理cpu个数、核数、逻辑cpu个数