Comparar la fecha (moment.js) en MongoDB

Quiero comparar la fecha de MongoDB y mi fecha.

También he leído este y este post y no encontré una respuesta.

Mi Código :

  today: function() {
    var today = moment().format();
    return Posts.find({createdAt : { $gte : today}}) //show posts created in "future" , so this function must return nothing
  },

createdAt = moment().format();//in MongoDB

Como resultado de esta construcción no funciona, pero si comparo esta mentira :

var today = moment().format();
var daystart  = moment().startOf('day').format();
if (daystart > today){
  console.log ("YES");
}
else if (daystart < today)console.log ("NO");

Volver

"NO"

Nadie ayuda ?

EDICIÓN :

  today: function() {
    var today = moment().toDate();
    var daystart  = moment().startOf('day').toDate();
    //console.log(today + daystart);
    return Posts.find({createdAt : { $gt : today}}) 
  },
  week: function() {
          var today = new Date();
      return Posts.find({createdAt : { $lt : today}}) 
  },
  month: function() {
            var today = new Date();
      return Posts.find({createdAt : { $ne : today}}) 
  }

createdAt = new Date();

OriginalEl autor nl pkr | 2015-07-17

1 respuesta

  1. 12

    La .format() es un método de visualización de auxiliar de la función que devuelve la fecha en la representación de cadena de caracteres basado en el pasado token argumento. Para comparar la fecha de MongoDB con la fecha y hora actuales, simplemente llame a momento() sin parámetros, sin la .format() método y obtener el nativo Fecha de objetos que Moment.js envuelve llamando a la fecha() método:

    today: function() {
        var now = moment().toDate();
        return Posts.find({createdAt : { $gte : now }});
    }
    Y aquí estaba el resto de nosotros que pensaban que tenían que llamar a .toDate() en un momento objeto de devolver un objeto Date de JavaScript, que es válido para la serialización.
    Gracias, actualizado mi respuesta.
    en mongo debo escribir como este createdAt = moment() o createdAt = moment().toDate()
    Puede escribir como createdAt = moment().toDate() o simplemente createdAt = new Date();
    lo siento pero no funciona

    OriginalEl autor

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *