Insertion de Date () dans Mongodb via mongo shell
Je suis insertion de document, par la requête suivante:
db.collection.insert(
{
date: Date('Dec 12, 2014 14:12:00')
})
Mais ça me donnera une erreur.
Comment puis-je insérer une date dans ma collection sans avoir une erreur?
source d'informationauteur Logicbomb
Vous devez vous connecter pour publier un commentaire.
Vous devez obtenir une autre erreur que le code ci-dessus entraînera la
Date()
méthode retournant la date actuelle comme un string, quel que soit les arguments fournis avec l'objet. À partir de la la documentation: JavaScript les objets Date ne peut être instancié par l'appel JavaScriptDate
comme un constructeur: appeler une fonction régulière (c'est à dire sans lanew
opérateur) retournera une chaîne plutôt que d'unDate
objet; contrairement à d'autres JavaScript types d'objet, JavaScript Date d'objets ont pas la syntaxe littérale.Vous voudrez peut-être essayer ceci à la place d'obtenir la bonne date, en gardant à l'esprit que le mois de paramètre de JavaScript constructeur de Date est basée sur 0:
JavaScript date d'objets peuvent être une drôle de chose. Selon la façon dont vous avez réellement fournir les arguments pour instancier eux, vous obtenez des résultats différents.
Par exemple, certains pourraient penser que vous essayez ceci:
Qui semble très bien, mais il y a un problème.
Vous voyez que certaines formes de l'instanciation d'un
Date
objet en JavaScript utiliser le "local" de fuseau horaire lors de la création de la date. D'autres utilisent l'UTC ou "universelle" de fuseau horaire à un ensemble standard. C'est aussi la "norme" que MongoDB attend, et il est généralement accepté que les meilleures pratiques pour l'application de stocker les dates de cette façon. Faire toutes les conversions dans votre code, à l'écart de la banque de données. Cela garantit que vous pouvez traiter avec de multiples paramètres régionaux sans problème.Donc ce que vous devriez faire c'est ceci:
Il y a aussi une "aide" dans la MongoDB shell qui gère ce à peu près de la même façon, mais plus spécifique, à la syntaxe:
Ce produit UTC Date de valeur qui stocke correctement comme prévu. Vous devez toujours traiter avec UTC lors de l'enregistrement des dates dans MongoDB.