data JavaScript oggetti possono essere una cosa divertente. A seconda di come fornite effettivamente gli argomenti per istanziarli, otterrete risultati diversi.
Per esempio, alcuni potrebbero suggerire di provare questo:
var myDate = new Date(2014, 11, 12, 14, 12)
Il che sembra bene, ma c'è un problema.
Si vede che alcune forme di istanziazione di un oggetto Date
in JavaScript utilizzano il fuso orario "locale" durante la creazione della data. Altri usano il fuso orario UTC o "universale" secondo uno standard stabilito. Questo è anche lo "standard" che MongoDB si aspetta ed è generalmente accettato come best practice per l'applicazione per memorizzare le date in questo modo. Esegui eventuali conversioni nel codice, lontano dall'archivio dati. Ciò garantisce di poter gestire più locali senza problemi.
Allora, cosa si dovrebbe fare è questo:
var date = new Date("2014-12-11T14:12:00Z")
C'è anche un "aiuto" nel guscio MongoDB che gestisce questo più o meno nello stesso modo, ma più specifico per la sintassi:
var date = new ISODate("2014-12-11T14:12:00Z")
Questo produce un valore di data UTC che viene archiviato correttamente come previsto. Dovresti sempre occuparti di UTC quando memorizzi le date in MongoDB.
fonte
2014-12-15 09:23:29
Che errore? [Modifica la tua domanda] (https://stackoverflow.com/posts/27480134/edit) e aggiungi il messaggio di errore. –
Questa domanda indica chiaramente nella shell e tutte le risposte fornite sono per javascript. Si prega di inviare una risposta per l'inserimento dalla console mongo. –