【mongoDB】mongoDB根据时间条件查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【mongoDB】mongoDB根据时间条件查询相关的知识,希望对你有一定的参考价值。

参考技术A $ mongoexport -h xx.xx.xx.xx  \

  --port=27017  \

  --username=username \

  --password='password' \

  --authenticationDatabase=admin  \

  -d  logstat  \

  -c T_LoginOut \

  -q '"$and":["sendTime":"$gt": new Date(1598889600000),"sendTime":"$lt": new Date(1601481600000)]' \

  --type json \

  -o T_LoginOut.json

#######################

$  mongo  --host xx.xx.xx.xx:27017  --username=username  --password='password'  --authenticationDatabase=admin

> db.T_Test.count("$and":["day":"$gte": ISODate("2020-12-31T16:00:00.000Z"),"day":"$lte": ISODate("2021-07-30T15:59:59.999Z")])

求教mongodb大神,在java中怎么以时间为条件查询

参考技术A java操作mongodb进行查询,常用筛选条件的设置如下:条件列表:BasicDBListcondList=newBasicDBList();临时条件对象:BasicDBObjectcond=null;DBCollectioncoll=db.getCollection("A");1、$where在某种应用场合,若要集合A查询文档且要满足文档中某些属性运算结果,可以编写一脚本函数用where进行设置,比如:某集合中存放的用户信息,包括姓名、年龄、手机号、地址等,要筛选出年龄大于20且小于等于40的用户,我们可以这样:StringageStr="function()returnparseFloat(this.age)>20&&parseFloat(this.age)<=40;";cond=newBasicDBObject();cond.put("$where",ageStr);放入条件列表condList.add(cond);2、$in接1实例中,要查询年龄为23、40、50的用户信息,我们可以这样:创建一个临时的条件列表对象,将条件值分别添加进去BasicDBListvalues=newBasicDBList();values.add(23);values.add(40);values.add(50);cond=newBasicDBObject();cond.put("age",newBasicDBObject("$in",values));放入条件列表condList.add(cond);3、模糊匹配接1实例中,要按照用户的姓名进行模糊查询,如:王,我们可以这样做:使用不区分大小写的模糊查询3.1完全匹配Patternpattern=Pattern.compile("^王$",Pattern.CASE_INSENSITIVE);3.2右匹配Patternpattern=Pattern.compile("^.*王$",Pattern.CASE_INSENSITIVE);3.3左匹配Patternpattern=Pattern.compile("^王.*$",Pattern.CASE_INSENSITIVE);3.4模糊匹配Patternpattern=Pattern.compile("^.*王.*$",Pattern.CASE_INSENSITIVE);cond=newBasicDBObject();cond.put("name",cond);放入条件列表condList.add(cond);4、$gte/$lte/$gt/$lt接1实例中,要筛选出年龄大于20且小于等于40的用户,我们可以这样:cond=newBasicDBObject();cond.append("age",newBasicDBObject("$gt",20));cond.append("age",newBasicDBObject("$lte",40));放入条件列表condList.add(cond);在日常的查询中筛选的条件可能会有多个,而且多个条件之间都是且的关系,结合上例1、2、3、4中将每种条件添加到条件列表中,我可以这样:BasicDBObjectsearchCond=newBasicDBObject();searchCond.put("$and",condList);然后查询数据:DBCursorret=coll.find(searchCond);

以上是关于【mongoDB】mongoDB根据时间条件查询的主要内容,如果未能解决你的问题,请参考以下文章

mongodb 查询子节点

MongoDB常用命令

Node.js 使用 MongoDB 的 ObjectId 作为查询条件

mongoDB的ObjectId和查询条件

mongoDB在java中怎么根据内嵌文档条件查询

MongoDB高级操作