Opprett databasesamlingen
For å diskutere bruken av "$ CurrentDate" -operatøren i MongoDB, vil vi se på noen praktiske eksempler. Før det må du ha et ordentlig MongoDB -oppsett på slutten. Etter å ha satt opp den, oppretter du en ny "test" -database i systemet ditt. MongoDB-skjemaene fungerer bare på samlinger med dokumentformat-poster. Derfor lager vi endelig en enkel "Time" -samling i "Test" -databasen som skal brukes i de medfølgende eksemplene. MongoDBs CreateCollection () -metode brukes her med "DB" nøkkelord for dette formålet. Samlingen som heter “Time” er endelig opprettet i henhold til “OK: 1” -utgangen.
Test> DB.CreateCollection ("Tid")Mens vi prøver "Finn" -metode-spørringen for å vise postene til "Time" -samlingen på MongoDB-kommandolinjegrensesnittet, fikk vi det tomt, da vi ikke la til noen poster ennå.
Test> DB.Tid.finne()Legg til poster i MongoDB -samlingen
Derfor er det på høy tid å legge til noen datafelt i "Time" -samlingen til "Test" -databasen. Disse postene skal inneholde minst ett felt som brukes til å holde en nåværende "dato". Dermed utføres innsettingsfunksjonen til "MongoDB" for å legge til totalt 3 poster i "Time" -samlingen til "Test" -databasen. Gjennom denne prosessen brukes MongoDB-kommandolinjeskallet for "DB" -utførelsen med navnet på en samling som er "test". Hver av postene inneholder tre felt mens det siste feltet, "DateTime", for å holde gjeldende dato. Vi legger til en dummy tidsstempel i den for å kjøre spørringen. Når vi kjører denne spørringen på MongoDB -skallet, får vi kvitteringsmeldingen som vises på følgende vedlagte bilde:
Test> DB.Tid.InsertMany ([id: 1, land: "Amerika", DT: Timestamp (166471552, 3),For å få et ordentlig blikk på de ekstra postene for den spesielle "Time" -samlingen i MongoDB, må du bruke "Finn" -spørsmålet på samme måte som vi gjorde mens du oppretter en samling. Utgangsbildet for følgende listede spørring viser tre separate poster, hver med samme navnfelt:
Test> DB.Tid.finne()Eksempel 1: Angi gjeldende dato for enkeltoppføring
Nå som vi er ferdige med tillegg av noen poster i databasen "Time" -samling, endrer vi "DT" -feltet for å konvertere verdien til gjeldende dato. Derfor blir UpdateOne () -funksjonen til MongoDB støpt i MongoDB “DB” -skallinstruksjonen. Sørg for å bruke riktig navn for en samling som skal endres. Denne spørringen starter med identifikasjonsfeltet som "ID" for en post som skal oppdateres. Sammen med det er $ CurrentDate -operatøren støpt for å sette "DT" -feltet til "True" ved å angi gjeldende dato. Når vi kjører denne instruksjonen, får vi den "sanne" erkjennelsen og modifiseringstallet som "1".
Test> DB.Tid.UpdateOne (id: 1, $ currentDate: dt: true)Nå som "DT" -feltet fra den første posten av "Time" -samlingen oppdateres via "$ CurrentDate" -operatøren, ser vi på den oppdaterte versjonen i MongoDB -skallet. Etter å ha nevnt “ID: 1” i "Finn" -funksjonsspørsmålet, får vi den endrede posten på skallskjermen vår. "DT" -feltets verdi er nå satt til gjeldende dato.
Test> DB.Tid.finn (id: 1)Eksempel 2: Angi datoen til tidsstempel for enkeltoppføring
Nå beveger vi oss mot illustrasjonen for å konvertere tilbake den enkle gjeldende dato -feltverdien til den relaterte spesifikke tidsstempelet på den enkleste måten. For dette må vi sørge for at posten innen det datorelaterte feltet må inneholde en datoverdi med standardformat for dato-tid. Utgangen fra det forrige eksemplet viser at "DT" -feltet har et standard dato-tidsformat. I dette tilfellet bruker vi UpdateOne () -funksjonen for å endre "DT" -feltet i en "tid" -samling. Spørringen starter med "DB" nøkkelordet i MongoDB etterfulgt av DOT -produktet med "Time" -samlingen og oppdateringen () -funksjonen. Typen for "DT" -feltet er satt til "Timestamp" BSON -format. En oppdatering gjenspeiles.
Test> DB.Tid.UpdateOne (id: 1, $ currentDate: dt: $ type: "timestamp")Etter å ha funnet de tre postene til "Time" -samlingen ved hjelp av "Finn" -funksjonen i "DB" -spørsmålet, får vi den første posten formatert tilbake til det originale tidsstemplet, samme som de andre postene.
Test> DB.Tid.finne()Eksempel 3: tidsstempel til gjeldende dato i flere poster
Det forrige eksemplet utdata illustrerer at vi nå har "DT" feltverdien i "Tidsstempel" -formatet for en dato for alle de tre postene i samlingen. Vi må se på en måte å konvertere alle "tidsstempel" -formater til et standard gjeldende datoformat på en gang for alle poster. "UpdateManiaN" -metoden til MongoDB brukes her. "$ CurrentDate" -operatøren blir brukt på "DT" -feltet ved å sette verdien til "True" for alle postene "". Denne operasjonen er vellykket som utgangen viser:
Test> DB.Tid.updatemany (, $ currentDate: dt: true)Etter å ha kjørt Find Instruction, viser alle de tre postene til "Time" -samlingen som vises i bildet at tidsstempelet er formatert til standard datoformat.
Test> DB.Tid.finne()Konklusjon
Etter å ha vært nøye med på denne guiden, vil du raskt kunne lære om det grunnleggende ved å bruke "CurrentDate" -operatøren i MongoDB. De medfølgende illustrasjonene viser bruken av "$ currentDate" -operatøren for å angi en hvilken som helst feltverdi til gjeldende dato og formatere gjeldende dato til tidsstempel. Eksemplene inneholder innstillingen av "$ currentDate" -operatøren for enkeltoppføringer, så vel som for flere poster.