JavaScript data obiekty mogą być zabawne. W zależności od sposobu dostarczenia argumentów do ich utworzenia otrzymujesz różne wyniki.
Na przykład, niektórzy sugerują, spróbuj tego:
var myDate = new Date(2014, 11, 12, 14, 12)
co wydaje się w porządku, ale nie jest to problem.
Widzisz, że niektóre formy tworzenia wystąpienia obiektu Date
w JavaScript używają "lokalnej" strefy czasowej podczas tworzenia daty. Inni używają UTC lub "uniwersalnej" strefy czasowej do ustawionego standardu. Jest to również "standard", którego oczekuje MongoDB i jest ogólnie akceptowana jako najlepsza praktyka dla aplikacji do przechowywania dat w ten sposób. Wykonuj konwersje w kodzie, z dala od magazynu danych. Dzięki temu możesz radzić sobie z wieloma lokalizacjami bez problemu.
Więc co należy robić to w ten sposób:
var date = new Date("2014-12-11T14:12:00Z")
Jest też „pomocnika” w powłoce MongoDB, który obsługuje ten prawie w ten sam sposób, ale bardziej charakterystyczne dla składni:
var date = new ISODate("2014-12-11T14:12:00Z")
Powoduje utworzenie wartości daty UTC, która jest zapisywana poprawnie zgodnie z oczekiwaniami. Powinieneś zawsze postępować z UTC podczas przechowywania dat w MongoDB.
Jaki błąd? [Edytuj swoje pytanie] (https://stackoverflow.com/posts/27480134/edit) i dodaj komunikat o błędzie. –
To pytanie wyraźnie stwierdza w powłoce, a wszystkie podane odpowiedzi są dla javascript. Opublikuj odpowiedź do wstawienia z konsoli mongo. –