• MongoDB 查询文档


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

    (一)、find() 基本查询

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

    语法: db.collection.find(query, projection)

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

    案例:

    1、通过ID查询所有的列

    db.PageColllection.find({'Cust_id':2185123})

    2、通过ID查询返回指定的列和id字段,默认是id字段也是返回的。

    db.PageColllection.find({'Cust_id':2185123},{ Cust_id:1,finger:1,FromArea:1,FromCity:1,FromPro:1,ip:1})

    3、仅返回指定字段,排除掉默认的id字段

    db.PageColllection.find({'Cust_id':2185123},{_id:0, Cust_id:1,finger:1,FromArea:1,FromCity:1,FromPro:1,ip:1})

    4、返回除了某些元素以外的所有元素

    db.PageColllection.find({'Cust_id':2185123},{ finger:0,FromArea:0})

    注意:

    映射(projection )声明用来限制所有查询匹配文档的返回字段;

    指定要包含的字段(例如: {field:1})或者指定要排除的字段(例如:{field:0});

    默认_id是包含在结果集合中的,要从结果集中排除_id字段 ;

    除了_id字段,不能在一个projection中联合使用包含和排除语意;。

    (二)、MongoDB 的条件语句查询

     案例:

    1、等于查询 :返回所有的列

    db.PageColllection.find({"Cust_id":2185123})

     2、小于查询:通过时间戳查询  返回 小于某一 时间戳的 所有的列

    db.PageColllection.find({"unixTime":{$lt:1586945087529}})

    3、小于或等于查询 :通过时间戳查询 返回小于或等于 某一时间戳的 所有列

    db.PageColllection.find({"unixTime":{$lte:1586945087529}})

    4、大于 : 通过时间戳查询 返回 大于 某一时间戳的所有列

    db.PageColllection.find({"unixTime":{$gt:1586945087529}})

    5、大于或 等于:通过时间戳查询 返回 大于 或 等于 某一时间戳的所有列

    db.PageColllection.find({"unixTime":{$gte:1586945087529}})

    6、不等于: 通过时间戳查询 返回 不等于 某一时间戳的所有列

    db.PageColllection.find({"unixTime":{$ne:1586945087529}})

    (三)、MongoDB AND 条件

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

    语法:db.col.find({key1:value1, key2:value2}).pretty()

    案例:

    查询 出发地为 河南省 郑州市  市辖区 的所有数据

    db.PageColllection.find({FromPro:'河南省',FromCity:'郑州市',FromArea:'市辖区'})

     (四) 、MongoDB OR 条件

       MongoDB OR 条件语句使用了关键字 $or,语法格式如下

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

    案例:查询出发地市级 为郑州市 或者 兰州市 的数据

     db.PageColllection.find({ $or:[ {FromCity:'郑州市'}, {FromCity:'兰州市'} ] } ) 


    (五)、
    AND 和 OR 联合使用

    案例:查询会员Id为2456841 并且  时间戳为 1586413176954 或者 1586413178525的所有列

     db.PageColllection.find({ Cust_id: 2456841, $or: [{ unixTime: 1586413176954 }, { unixTime: 1586413178525 }] })  




     
     
     
     
  • 相关阅读:
    电话号码分身
    利用Geoerver+Mysql+openlayers实现gis空间数据线段、多边形的存储、编辑、平移等功能
    vue+openlayers图形交互,实现多边形绘制、编辑和保存
    JetBrains AppCode:用于 iOS/macOS 开发的智能 IDE
    GIS基础知识
    class java.time.LocalDateTime cannot be cast to class java.util.Date
    geoserver配置SQL图层 cql_filter模糊查询
    gis论坛
    Geoserver的WFS服务
    Linux 环境下修改 MySQL 时区
  • 原文地址:https://www.cnblogs.com/Learnall/p/12803327.html
Copyright © 2020-2023  润新知