• 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 的值
  • 相关阅读:
    服务器/服务器架构/阿里云服务器/虚拟机
    第十五章、线程之协程
    第十五章、线程池和进程池
    第十五章、线程之queue模块的各种队列
    第十五章、Python多线程之信号量和GIL
    第十五章、Python多线程同步锁,死锁和递归锁
    第十五章、并发编程之守护线程
    第十五章、并发编程之线程
    抢票小程序
    队列与生产者消费者模型
  • 原文地址:https://www.cnblogs.com/elephant-study/p/13440851.html
Copyright © 2020-2023  润新知