29 Novembre 2021
Expand search form

Come MongoDB memorizza la data?

Per i principianti di MongoDB è spesso fonte di confusione memorizzare data e ora. Alcune persone decidono di usare i timestamp MA c’è un modo molto migliore per memorizzare data e ora in MongoDB.

Il database non è destinato alla lettura umana, ma è ottimo per memorizzare è un formato che è conveniente e in forma leggibile dall’uomo.

Lasciate che vi dica che migrare il database da un formato di data ad un altro è un incubo. Se l’applicazione è complessa si verificheranno anche brutti bug. Quindi è importante pianificare perfettamente la gestione della data-ora nella vostra applicazione.

Ho migrato un’applicazione Node.js da timestamps e mi ci sono voluti circa 10 giorni per trovare e risolvere i bug (soprattutto conversioni di date).

Il miglior formato per memorizzare data e ora

Il miglior formato per memorizzare data e ora in MongoDB è javascript nativo Date() o formato data ISO in quanto lo converte internamente in un oggetto Data nativo BSON.

I documenti ufficiali di MongoDB dicono dell’oggetto data nativo BSON:

BSON Date è un intero a 64 bit che rappresenta il numero di millisecondi dall’epoca Unix (1 gennaio 1970). Questo si traduce in un intervallo di date rappresentabile di circa 290 milioni di anni nel passato e nel futuro.

A prima vista, la definizione può sembrare un timestamp, ma BSON Timestamps e BSON Date sono diversi.

MongoDB raccomanda ufficialmente di memorizzare la data nell’oggetto BSON Date ed evitare i timestamp se possibile, in quanto è per uso interno.

Oggetto MongoDB BSON Date vs Timestamp

All’inizio, la definizione dell’oggetto data nativo BSON può sembrare un timestamp. Ma sono diversi.

I timestamp in MongoDB sono principalmente per l’uso interno e sono valori a 64 bit.

I 32 bit più significativi sono time_t che è secondi dall’epoca UNIX. I 32 bit meno significativi sono ordinali incrementali per le operazioni.

L’oggetto BSON Date millisecondi passato dal 1 gennaio 1970 (UNIX epoch) con l’intervallo di date di 290 milioni di anni passati e futuri.

Esempi di inserimento di date in MongoDB

Nei casi del mondo reale, usiamo principalmente MongoDB in MERN Stack. Se questo è il vostro caso, allora potete facilmente inserire un nuovo Date() nel database.

Ecco la sintassi della shell MongoDB per inserire la data.

Oppure possiamo anche usare.

I vantaggi di usare l’oggetto data nativo è che supporta molti metodi utili per la conversione che sono molto utili e riducono la complessità.

Articolo precedente

In che modo il fast food sta influenzando l’America?

Articolo successivo

Un arresto di Terry è illegale?

You might be interested in …