zoukankan      html  css  js  c++  java
  • MongoDB查询大于某个时间,小于某个时间,在某一段时间范围

    MongoDB查询大于某个时间,小于某个时间,在某一段时间范围

    2018年07月25日 10:34:37 lfendo 阅读数:17597

     版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011781521/article/details/81197781

    MongoDB 日期查询目前可通过Date 和ISODate两种方式:

    MongoDB条件对应关系

    
     
    1. (>) 大于 - $gt

    2. (<) 小于 - $lt

    3. (>=) 大于等于 - $gte

    4. (<= ) 小于等于 - $lte

    1.Date方式

    例如查询ct>=2012.12.7 且et<=2012.12.7:可翻译为

    "ct":{$gte:new Date(2012,11,7)},"et":{$lte:new Date(2012,11,7)}

    如下是查询日期大于等于2016年12月1日的记录条数(注意,中间的月份写11,就是12月)

    db.xxx.find({"ct":{$gte:new Date(2016,11,1)}})
    

    2.ISODate方式

    ISODate("2016-01-01T00:00:00Z")

    3.示列

    以ISODate查询:

    
     
    1. db.xxxx.find({"ct":{"$gt":ISODate("2017-04-20T01:16:33.303Z")}}) // 大于某个时间

    2. db.xxxx.find({"ct":{"$lt":ISODate("2017-04-20T01:16:33.303Z")}}) // 小于某个时间

    3. db.xxxx.find({"$and":[{"ct":{"$gt":ISODate("2017-04-20T01:16:33.303Z")}},{"ct":{"$lt":ISODate("2018-12-05T01:16:33.303Z")}}]}) // 某个时间段

    4. db.xxxx.find({"ct":{"$gte":ISODate("2017-04-20T01:16:33.303Z"),"$lte":ISODate("2018-12-05T01:16:33.303Z")}}) //某个时间段

    4.JAVA API操作

    
     
    1. DBCollection dbcollection = xxx.getCollection("xxxxxx");

    2. DBObject dbObject = new BasicDBObject();

    3. String startDate = "2017-04-24 21:59:06";

    4. String endDate = "2018-04-24 21:59:06";

    5. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    6. dbObject.put("$gte", sdf.parse(startDate));

    7. dbObject.put("$lte", sdf.parse(endDate));

    8. DBObject ageCompare = new BasicDBObject();

    9. ageCompare.put("ct",dbObject);

    10. //获取指定字段

    11. DBObject fieldObject = new BasicDBObject();

    12. fieldObject.put("user", true);

    13. fieldObject.put("goods", true);

    14. DBObject returnDB = dbcollection.findOne(ageCompare,fieldObject);

    15. System.out.println(JsonUtil.toJson(returnDB));

  • 相关阅读:
    vue项目按钮权限配置
    页面框架搭建模板可复用
    vue循环渲染复选框列表
    Vue项目网页版在浏览器中实现扫码识别功能(项目应用篇)
    基于51单片机的智能小车
    卡特兰数:翻折思想 翻折前后一一对应
    Redis之Info指令
    Redis的安全使用
    Redis中的近似LRU超出内存限制后的处理
    Redis主从同步
  • 原文地址:https://www.cnblogs.com/grj001/p/12225340.html
Copyright © 2011-2022 走看看