使用mongojs按时间戳查找文档

时间:2015-03-11 14:28:36

标签: javascript node.js mongodb timestamp mongojs

我想使用节点js在mongodb表中找到文档。 我目前正在使用mongojs插件。

以下是我遇到的问题:

  1. 我连接到DB。
  2. 我得到当前时间戳
  3. 我想每10秒钟打印10秒内添加的所有元素。
  4. var timestamp = new Date().getTime();
      console.log('timestamp to compare: ' + timestamp);
    
    setInterval(function() {
      var x = db.collection.find({'create_time' : {$gt : timestamp}}).toArray(function(err, entity) {
          console.log(entity);
      });
    
      console.log('checking...')
      timestamp = new Date().getTime();
      console.log('timestamp to compare: ' + timestamp);
    
    }, 10000);
    

    不知怎的,我没有得到任何结果。您可以在下面看到命令提示符输出。 http://s11.postimg.org/a8cnffedf/2015_03_11_1521.png

    我会帮助你。谢谢。

1 个答案:

答案 0 :(得分:1)

首先,确保mongo将create_time属性识别为日期。最简单的方法是插入标准的javascript日期实例:

db.collection.insert([{
    create_time: new Date(),
    ...
}], callback);

然后,要查询,再次使用日期实例:

var now = new Date();
var tenMinutesAgo = new Date(now - 10*60*1000);
db.collection.find({
    $gt: tenMinutesAgo
}).toArray(callback);

这应该可以做到!