MongoDB查询

一、find

find查询返回一个集合中文档的子集

1.find() 查询出匹配集合的全部内容

db.study.find()

2.find({"key":"value"})  and 条件  find({"key":"value","key2":"value2"})  

db.study.find({"name":"李四1"})

3.指定需要返回的键  

db.study.find({name:"王五"},{"name":1,"info.age":1})
结果:
{
    "_id" : ObjectId("5f1fdcb19da18cf3e2cf8078"),
    "info" : {
        "age" : 19
    },
    "name" : "王五"
}

4.指定不需要返回的键

db.study.find({name:"王五"},{"name":0})
结果:
{
    "_id" : ObjectId("5f1fdcb19da18cf3e2cf8078"),
    "address" : "北京,门头沟",
    "info" : {
        "age" : 19,
        "sex" : 1
    }
}

二、查询条件

1.查询条件

$lt : < ; $lte :<= ; $gt :> ; $gte: >= ;

db.study.find({"age":{"$gte":5,"$lte":8}})

$ne 不等于某个特定值

db.blog.find({title:{"$ne":"test2"}})

2.OR查询

a.$in  包含 同一个键里面的包含

db.blog.find({title:{"$in":["test2","test3"]}})

b.$nin 不包含

db.study.find({"address":{"$nin":["shanghai"]}})

c.$or对于不同键的包含

db.study.find({"$or":[{"address":"shanghai"},{"age":21}]})

三、特定类型的查询

1.null

如果仅想匹配键值为null的文档,既要检查该键的值是否为null,还要通过$exists 判定键值已存在

db.study.find({"sex":{"$in":[null],"$exists":true}})

2.正则表达式

a.区分大小写

db.study.find({"name":/Li/})

b.不区分大小写

db.study.find({"name":/Li/i})

c.添加前缀

db.study.find({"name":/^test/})

3.查询数组

a.$all多个元素匹配

db.study.find({lovly:{"$all":["food","play"]}})
lovly中既要有food 还要有 play 的值

 

posted @ 2020-08-24 14:30  蚂蚁KO大象  阅读(526)  评论(0编辑  收藏  举报