/ / Mongoose Update Condition PDT Date / Model ISO Date - node.js, mongodb

Date de mise à jour Mongoose PDT / Date ISO du modèle - node.js, mongodb

Salut mon Schmema a un champ avec une date ISO:

ISODate("2015-04-30T14:47:46.501Z")

Paypal retourne sur un paiement réussi un objet date sous cette forme:

Time/Date stamp generated by PayPal, in the following format: HH:MM:SS Mmm DD, YYYY PDT
Length: 28 characters

Maintenant, je veux mettre à jour l'entrée de la base de données qui a le payers_email_address et un horodatage qui diffère au maximum de l'horodateur paypals de 15 minutes.

Voici les étapes que je pense nécessaires pour y parvenir:

1) Sur cette étape, je ne suis pas sûr. Le moyen le plus simple serait de ficeler la date paypal puis de la diviser et de la réorganiser. Mais je suppose qu'il existe une meilleure façon?

Question: Comment convertir correctement la date PDT en date UTC.

2) Faites une nouvelle date UTC: var dt = nouvelle date ("2010-06-09T15: 20: 00Z");

3) Ajoutez 15 minutes à la date: dt.setMinutes (dt.getMinutes () + 15);

4) Requête entre deux dates MongoDB / Mongoose interroge à une date spécifique?

En totalité (ne fonctionne pas pour une date au 30/04/2015)

MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015").toUTCString(), "$lt": new Date("14:00:46 05 01, 2015").toUTCString()}})

MODIFIER:

Je suppose que si je fais fonctionner la requête, je peux simplement utiliser la même chose avec PDT:

new Date("20:15:10 05 10, 1985 PDT").toUTCString()

J'ai posté mes étapes car il y a peut-être une fonction mangouste pour convertir la date et je n'ai pas à faire 1-3.

Réponses:

1 pour la réponse № 1

Cela fonctionne dans mon mongoShell, je signalerai plus tard si cela a fonctionné dans le programme:

MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015 PDT"), "$lt": new Date("14:00:46 05 01, 2015 PDT")}})