博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB小技巧-用ObjectID查询某一时间范围内的数据
阅读量:5875 次
发布时间:2019-06-19

本文共 589 字,大约阅读时间需要 1 分钟。

hot3.png

ObjectID是由精确到秒的时间戳再加上机器标识等信息组成的,并且建有索引,因此ObjectID本身就可以用于按时间范围查询数据,而不用专门另建时间戳字段和索引。

下面用javascript代码片段说明如何使用ObjectID查询某一时间范围内的数据:

 

[javascript]  

  1. function timeToObjId( time ) {  
  2.     var t = new Date(time);  
  3.     t = t.getTime()/1000; // 转换成秒数  
  4.     return t.toString(16)+'0000000000000000'; // 转换成16进制的字符串,再加补齐16个0  
  5. }  
  6.   
  7. var objIdTimeFrom = timeToObjId( '2015-08-01 10:42:01' );  
  8. var objIdTimeTo = timeToObjId( '2015-08-01 10:42:59' );  
  9.   
  10. // 查询MongoDB数据库  
  11. db.table1.find({  
  12.     '_id': {  
  13.         '$gt': ObjectId( objIdTimeFrom ),  
  14.         '$lt': ObjectId( objIdTimeto )  
  15.     }  
  16. }).sort({  
  17.     '_id': 1  
  18. });  

转载于:https://my.oschina.net/newchaos/blog/1577383

你可能感兴趣的文章
浏览器缓存文件导致js文件更改无效
查看>>
如何才能学好javascript
查看>>
学习CodeIgniter框架之旅(二)继承自定义类
查看>>
yum被锁Another app is currently holding the yum lock; waiting for it to exit...
查看>>
Excel .net读取
查看>>
设计模式之简单工厂模式
查看>>
我的Python成长之路---第三天---Python基础(13)---2016年1月16日(雾霾)
查看>>
深度学习-数学-第一篇-标量,向量,矩阵,张量
查看>>
数据库分类
查看>>
How to Read a Book
查看>>
第二讲 线性结构
查看>>
黑盒测试实践进度记录(五)
查看>>
整数的lqp拆分
查看>>
ABP源码分析四十:ZERO的Application和Tenant
查看>>
[论文]Clustering-Based Ensembles as an Alternative to Stacking
查看>>
SVN clean失败解决方法
查看>>
正则判断手机号是不是11位
查看>>
清浮动,防止上下margin重叠(浏览器顶部空白崩溃)
查看>>
2018年终总结
查看>>
StringBuffer与StringBuilder
查看>>