zoukankan      html  css  js  c++  java
  • 6.30MongoDB之"查"

    6.30MongoDB之"查"

    MongoDB查询文档内容的方法

    • MongoDB 查询文档使用 find() 方法。

    • find() 方法以非结构化的方式来显示所有文档。

    • findOne() 方法,它只返回一个文档。

    语法:

    db.collection.find(query, projection)
    • query :可选,使用查询操作符指定查询条件

    • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

    易读的方式来读取数据,可以使用 pretty() 方法--->pretty() 方法以格式化的方式来显示所有文档。

    db.collection.find().pretty()

    MongoDB与RDBMS Where语句比较

    操作格式范例RDBMS中的类似语句
    等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
    小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
    小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
    大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
    大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
    不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50

    MongoDB中AND条件

    MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。

    语法:

    db.collection.find({key1:value1, key2:value2}).pretty()

    实例:

    db.teacher.find({by:'JunBoy',title:'Java'}).pretty()

    MongoDB中OR条件

    MongoDB OR 条件语句使用了关键字 $or

    语法:

    db.collection.find(
      {
        $or: [
            {key1: value1}, {key2:value2}
         ]
      }
    ).pretty()

    这个$or就是一个变量,将值传递给变量然后再去查询

    实例:--->注意{}的数量,find()方法内先要放一层{}变量后要用"[]"数组符号里面再放域

    db.teacher.find(
       {$or:[
          {title:'Java'},
          {by:'LuciferOfLive'}
      ]
       }
    ).pretty()

    MongoDB中AND和OR联合使用

    MongoDB使用变量$gt表示''>'',使用变量$or表示OR。复合语句严格按照各语句的样式写即可

    实例:--->类似常规 SQL 语句为:where like>300 AND (title = 'Java' OR title = 'java')

    db.getCollection("teacher").find(
    {
    like:{$gt:300},
    $or:[
    {title:'Java',title:'java'}
    ]
    }
    )

    这个方法只能返回同数据的第一条记录

    实际查询得到的结果:

    getCollection方法是内置方法,用于寻找指定的集合

    It's a lonely road!!!
  • 相关阅读:
    Bootstrap留言板界面练习
    Bootstrap 学习
    web | [GXYCTF2019]禁止套娃
    re | [GKCTF2020]WannaReverse
    PE文件结构 | 在PE文件的空白区添加代码
    PE文件结构 | RVA与FOA的转换
    re | [NPUCTF2020]BasicASM
    win32 | WinSock2网络编程 | socket-tcp通信
    web | flask 修饰器实现原理
    运维 | 配置LNMP | 基于docker.ubuntu:16.04
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14955946.html
Copyright © 2011-2022 走看看