Lag databasesamling
Vi har startet MongoDB -skallet og vist alle tilgjengelige databaser via "Show DBS" -spørsmålet til MongoDB. Utgangen fra denne instruksjonen viser 3 innebygde databaser mens dummy-databasen “Test” allerede blir brukt.
Test> Vis DBSHvis du vil bruke en bestemt database, kan du kjøre "bruk" -instruksjonen sammen med databasenavnet, og du vil bruke den aktuelle databasen om et øyeblikk.
Test> Bruk testNå som vi er ferdige med å bevege oss innenfor arbeidsområdet til "Test" -databasen, har vi lov til å lage samlinger i den. Derfor skal vi lage en samling som heter "Order" i denne "test" -databasen ved bruk av "CreateCollection" -funksjonen i instruksjonen. Spørringen for å lage en samling sammen med utdataene er påvist nedenfor.
Test> DB.CreateCollection ("Order")For å få alle samlingene i "Test" -databasen som.
Test> Vis samlingerSett inn dokumenter til innsamling
Etter at samlingen “Order” er generert, kan vi ikke la den være tom, da vi må jobbe med desimalpunkter for å bruke den runde operatøren av MongoDB. Derfor må vi sette inn minst ett felt som inneholder desimalpunktverdier i det. Så vi har prøvd InsertMany -funksjonen i instruksjonen foran navnet på en samling "ordre" for å sette inn totalt 3 dokumenter. Hvert dokument inneholder 3 felt i.e., "Tittel" -feltet for strengtype, "pris" -feltet for heltallstype og "skatt" -feltet for float -type. Skattefeltet inneholder verdier med 1 eller flere flytende punkter.
Test> DB.Rekkefølge.InsertMany ([Tittel: "Pizza", pris: 4500, skatt: 99.5,Etter å ha satt inn disse tre dokumentene i "Order" -samlingen av databasen, vil vi vise disse på MongoDB -konsollen og se på dem klart på dem. For dette vil vi kaste av "finn" -funksjonen til MongoDB foran med navnet på en samling "orden" i instruksjonen. Bruk krøllete parentes “” i argumentet for å vise denne samlingen er alle dokumenter uten å spesifisere en. Utgangen for denne instruksjonen har vist totalt 3 dokumenter under.
Test> DB.Rekkefølge.finne()Eksempel # 01:
Nå som vi er ferdige med forutsetningene og setter opp databasen, skal vi bruke den runde operatøren i MongoDB Shell -instruksjon for å konvertere desimalverdiene til hele tall. Siden vi bare har et "skatt" -felt som inneholder desimalverdiene, vil vi bare bruke den runde operatøren på den. For å bruke den runde operatøren, må vi bruke aggregatfunksjonen til MongoDB i instruksjonen. Denne instruksjonen starter sine argumenter med operatøren “Project” etterfulgt av den runde operatøren.
Du kan også navngi feltet for utdata som skal vises for desimalpunktverdier i.e., avrundede verdier. Deretter må operatøren "runde" inneholde navnet på et felt som skal oppdateres sammen med det totale antallet desimalpunkter du vil at det skal bli avrundet av. I vårt tilfelle avrundet vi alle "skatte" feltverdier med 1 og fikk de modifiserte verdiene i produksjonen. Disse verdiene inneholder 1 desimal punktverdi nå: 99.5 å forbli 99.5 som det bare har 1 desimalpunkt allerede, 49.56 til 49.6 etter avrunding 6 og 55.25 til 55.2.
Test> DB.Rekkefølge.Aggregate ([$ prosjekt: RoundedValue: $ runde: ["$ skatt", 1]])Når du kjører Find () -funksjonen for å se feltet "skatt" for alle dokumenter, vil du se at postene ikke blir oppdatert i samlingen fordi den runde operatøren bare fungerer på kjøretid.
Test> DB.Rekkefølge.finne()Hvis du vil få et helt tall i stedet for en desimalpunktverdi, kan du bruke det totale antallet desimalpunkter “0” i spørringen. Derfor har vi oppdatert den samme instruksjonen for "skatt" -feltet og erstattet 1 med 0. Etter å ha utført den samlede funksjonsspørsmålet, har vi hele tallverdiene for feltet "skatt" for alle 3 dokumenter fra "Order" -samlingen i.e., 99.5 til 100, 49.56 til 50 og 55.25 til 55.
Test> DB.Rekkefølge.Aggregate ([$ Project: RoundedValue: $ Round: ["$ Tax", 0]])Nå, kjører det samme Find () -funksjonsinstruksjonen i MongoDB -skallet, har vi samme utgang som vi har i illustrasjonen ovenfor i.e. Ingen endring fordi runden bare fungerer på kjøretid.
Test> DB.Rekkefølge.finne()Eksempel # 02:
La oss bruke en annen måte å bruke den runde operatøren i MongoDB -skallet for å avrunde desimalpunktverdiene i.e., ganske samme med en liten forskjell i plassering av operatører og argumenter. Innenfor den samlede funksjonen vil du plassere argumentene i samme matriseformat fra bruk av prosjektoperatøren. Vi skal bruke navnet på et felt som skal oppdateres og angi statusen som "1" for å vise dens faktiske verdi som bor i samlingen akkurat nå.
Deretter vil vi legge til et nytt felt som heter 'verdi' etterfulgt av den runde operatøren og navnet på et felt "skatt" som argument for å gjøre det oppdatert. Det vil konvertere alle desimalpunktverdiene til et helt tall etter å ha avrundet desimalpunktene på slutten. Utgangen viser de opprinnelige "skatt" -feltverdiene sammen med de oppdaterte avrundede verdiene i feltet "verdi".
Test> DB.Rekkefølge.Aggregate ([$ prosjekt: skatt: 1, verdi: $ runde: ["$ skatt"]])Konklusjon
Etter å ha diskutert konseptet med å avrunde desimalverdiene innen matematikkfeltet, har vi diskutert hvordan den "runde" operatøren av MongoDB kan støpes for å avrunde verdier med flere punkter. For å fjerne bruken av den runde operatøren i MongoDB, har vi demonstrert to eksempler som inneholder den samlede funksjonen som bruker den runde operatøren. Ved å bruke disse eksemplene har vi avrundet verdiene med 1 og 2 poeng ved kjøretid mens vi også har sett at bruken av den runde operatøren ikke endrer den faktiske verdien i samlingen.