MongoDB $ CurrentDate Operator

MongoDB $ CurrentDate Operator
La data e l'ora sono le risorse più preziose per ogni essere vivente nell'era di oggi. Se non rispetti le scadenze in una data e ora specifiche, potresti fallire in molte situazioni della tua vita, sia che si tratti di un incarico importante, un grande progetto o un volo internazionale per catturare. Pertanto, è molto necessario far fronte alle priorità con la data equilibrata e la gestione del tempo. Proprio in questo modo, l'ambiente MongoDB ha escogitato operatori così utili per gestire automaticamente la data e l'ora di qualsiasi sistema. Uno di questi operatori è l'operatore "CurrentDate" che è specificato per ottenere la data e l'ora correnti nei suoi campi di raccolta. In questo articolo, sarai in grado di conoscere come evitare l'aggiornamento manuale della data tramite l'operatore "CurrentDate" di MongoDB.

Crea la raccolta del database

Per discutere l'uso dell'operatore "$ CurrentDate" a MongoDB, daremo un'occhiata ad alcuni esempi pratici. Prima di allora, devi avere una corretta configurazione MongoDB alla fine. Dopo averlo impostato, crea un nuovo database "test" nel sistema. Gli schemi MongoDB funzionano solo su raccolte con record di formato documenti. Pertanto, creiamo finalmente una semplice raccolta "tempo" nel database "test" da utilizzare negli esempi forniti. Il metodo createCollection () di MongoDB viene utilizzato qui con la parola chiave "db" a questo scopo. La raccolta denominata "time" è finalmente creata secondo l'output "OK: 1".

Test> db.createcollection ("tempo")

Durante il tentativo della query del metodo "Trova" per visualizzare i record della raccolta "Time" sull'interfaccia della riga di comando MongoDB, l'abbiamo svuotata perché non abbiamo ancora aggiunto alcun record.

Test> db.Tempo.Trovare()

Aggiungi record alla collezione MongoDB

Quindi, è giunto il momento di aggiungere alcuni campi di dati nella raccolta del "tempo" del database "test". Questi record dovrebbero contenere almeno un campo che viene utilizzato per contenere una "data" corrente. Pertanto, la funzione di insertMany di "MongoDB" viene eseguita per aggiungere un totale di 3 record nella raccolta "tempo" del database "test". Attraverso questo processo, la shell della linea di comando MongoDB viene utilizzata per l'esecuzione della query "DB" con il nome di una raccolta che è "test". Ciascuno dei record contiene tre campi mentre l'ultimo campo, il "datetime", per contenere la data corrente. Aggiungiamo un timestamp fittizio per eseguire la query. Dopo aver eseguito questa query sulla shell Mongodb, riceviamo il messaggio di riconoscimento che viene mostrato nella seguente foto allegata:

Test> db.Tempo.InsertMany ([Id: 1, Paese: "America", DT: Timestamp (166471552, 3),
… Id: 2, paese: "Cina", dt: timestamp (144471552, 3),
… Id: 3, paese: "Inghilterra", dt: timestamp (1433471452, 3)])

Per dare un'occhiata adeguata ai record aggiunti per la particolare raccolta di "tempo" in MongoDB, è necessario utilizzare la query "Trova" allo stesso modo che abbiamo creato una raccolta. La foto di output per le seguenti query elencate mostra tre record separati, ciascuno con lo stesso nome campi:

Test> db.Tempo.Trovare()

Esempio 1: impostare la data corrente per il record singolo

Ora che abbiamo finito con l'aggiunta di alcuni record nella raccolta "time" del database, modifichiamo il campo "DT" per convertire il suo valore alla data corrente. Pertanto, la funzione updateOne () di MongoDB è gettata nell'istruzione shell "DB" MongoDB. Assicurati di utilizzare il nome corretto per la modifica di una raccolta. Questa query inizia con il campo di identificazione come "ID" per l'aggiornamento di un record. Insieme a ciò, l'operatore $ CurrentDate viene lanciato per impostare il campo "DT" su "True" impostando la data corrente. Dopo aver eseguito questa istruzione, otteniamo il riconoscimento "vero" e il conteggio delle modifiche come "1".

Test> db.Tempo.Aggiornamento (id: 1, $ CurrentDate: dt: true)

Ora che il campo "DT" dal primo record della raccolta "Time" viene aggiornato tramite l'operatore "$ currentDate", esaminiamo la sua versione aggiornata nella shell MongoDB. Pertanto, dopo aver menzionato "Id: 1" nella query della funzione "Trova", otteniamo il record modificato nella nostra schermata Shell. Il valore del campo "DT" è ora impostato sulla data corrente.

Test> db.Tempo.find (id: 1)

Esempio 2: imposta la data su Timestamp per un singolo record

Ora, ci muoviamo verso l'illustrazione per convertire il semplice valore del campo della data corrente al suo timestamp specifico correlato nel modo più semplice. Per questo, dobbiamo assicurarci che il record all'interno del campo relativo alla data debba contenere un valore di data con il formato standard di data-tempo. L'output dell'esempio precedente mostra che il campo "DT" ha un formato standard di data-tempo. In questo caso, utilizziamo la funzione UpdateOne () per modificare il campo "DT" di una raccolta "Time". La query inizia con la parola chiave "DB" in MongoDB seguita dal prodotto DOT con la raccolta "time" e la funzione updatone (). Il tipo per il campo "DT" è impostato sul formato BSON "timestamp". Un aggiornamento viene riflesso.

Test> db.Tempo.Aggiornamento (id: 1, $ currentDate: dt: $ type: "timestamp")

Dopo aver trovato i tre record della raccolta "time" utilizzando la funzione "trova" nella query "DB", otteniamo il primo record formattato al suo formato Timestamp originale, come gli altri record.

Test> db.Tempo.Trovare()

Esempio 3: timestamp alla data corrente in più record

L'output di esempio precedente illustra che ora abbiamo il valore del campo "DT" nel formato tipo "timestamp" di una data per tutti e tre i record della raccolta. Dobbiamo dare un'occhiata a un modo per convertire tutti i formati di tipo "timestamp" in un formato di data corrente standard in una volta per tutti i record. Il metodo "updatemany" di MongoDB viene utilizzato qui. L'operatore "$ currentDate" viene applicato al campo "DT" impostando il suo valore su "True" per tutti i record "". Questa operazione ha esito positivo quando viene visualizzato l'output:

Test> db.Tempo.UpdateMany (, $ CurrentDate: dt: true)

Dopo aver eseguito l'istruzione Trova, tutti e tre i record della raccolta "Time" visualizzati nell'immagine mostra che il timestamp è formattato sul formato della data standard.

Test> db.Tempo.Trovare()

Conclusione

Dopo aver prestato attenzione a questa guida, sarai in grado di conoscere rapidamente le basi dell'utilizzo dell'operatore "CurrentDate" in MongoDB. Le illustrazioni fornite dimostrano l'uso dell'operatore "$ currentDate" per impostare qualsiasi valore di campo sulla data corrente e formattare la data corrente sul suo timestamp. Gli esempi contengono l'impostazione dell'operatore "$ CurrentDate" per i record singoli e per più record.