zoukankan      html  css  js  c++  java
  • 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 }] })  




     
     
     
     
  • 相关阅读:
    EditPlus v2.12 使用技巧集萃
    GridView列数字、货币和日期的显示格式
    使用模态窗口编辑数据
    求sql查询语句(转换数据表由纵向转换成横向)
    插入数据 存储过程生成帐单号
    65个源代码网站
    C#抓屏(截屏)
    SQL中SET NOCOUNT的用法
    在Visual Studio2005 中调试JavaScript
    WinForm下App.config配置文件的读与写
  • 原文地址:https://www.cnblogs.com/Learnall/p/12803327.html
Copyright © 2011-2022 走看看