/ / Намиране на документ по времева марка, използвайки mongojs - javascript, node.js, mongodb, timestamp, mongojs

Намерете документа с времеви маркери с mongojs - javascript, node.js, mongodb, timestamp, mongojs

Искам да намеря документ в mongodb таблица, използвайки node js. В момента работя с плъгин mongojs.

Ето какво имам проблем с:

  1. Свързвам се в БД.
  2. Получавам текущата времева марка
  3. На всеки 10 секунди искам да отпечатам всички елементи, добавени в рамките на тези 10 секунди.
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 за отговор № 1

Първо, уверете се, че монгото разпознава 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);

Това трябва да свърши работа!