2016-04-24 8 views
0

Ich erstelle ein E-Mail-Verifizierungstoken und speichere es zusammen mit einem Datum, an dem das Token in meiner MongoDB erstellt wurde.Kann ich Daten abziehen, um zu sehen, ob das Token gültig ist?

Ich frage mich (anstatt dies in meiner node.js API zu überprüfen - und 2 Anrufe an die DB) ist es möglich, in einem zu tun? Wie sage ich, wenn das Eingabedatum weniger als 24 Stunden des Datums in der Datenbank ist?

Also im Moment kann ich das Update Bit So

User.update({$and:[ {theID: userID}, {verifyID: emailID} ] }, 
      {$set: {verified: true} }) 

in diesem $and Block Ich möchte das Datum Teil hinzufügen, wenn es möglich ist (wenn die IDs übereinstimmen).

+0

Sie den '$ und' nicht brauchen, es implizit ist. –

+0

Ok - war mir dessen nicht bewusst. Vielen Dank. – userMod2

Antwort

1

Pass ein Datum mit dem Spiel Abfrage, verwenden Sie den $gt Operator

var since = new Date(); 
since.setDate(since.getDate() - 1); 

User.update(
    { 
     theID: userID, 
     verifyID: emailID, 
     Date: {$gt: since} 
    }, 
    {$set: {verified: true}} 
); 
Verwandte Themen