Lage samling
For det første vil vi sjekke samlingen som er tilgjengelig i vår database. Derfor har MongoDB -skallet blitt lansert perfekt etter å ha koblet til tilkoblingsstrengen. "Show Collections" MongoDB -instruksjonen ble utført for å vise alle samlingene vi har. Denne kommandoen returnerer ikke noe på skallet fordi det ikke er noen samlinger i vår "test" -database som nedenfor. Derfor må vi først lage en ny samling og deretter begynne å jobbe med den.
Test> Vis samlingerFor å legge til eller opprette en ny datainnsamling i MongoDB -databasen, må vi bruke “DB” -instruksjonen etterfulgt av CreateCollection -metoden. CreateCollection -metoden er spesielt designet for å lage nye samlinger som tar navnet på en samling som skal opprettes i sitt argument. I instruksjonen nedenfor har vi kalt samlingen som "test". Utgangen fra kommandoen returnerer suksessstatusen: 0 for fiasko og 1 for suksess. Kommandoen nedenfor returnerer 1, noe som betyr at kommandoen har vært vellykket og samlingen er opprettet.
Test> DB.CreateCollection ("Test")Sett inn poster
Etter å ha lagt til en ny samling i databasen, er det nødvendig å legge poster til den fordi samlingen kan være tom på opprettelsestidspunktet. Derfor, etter å ha brukt innsettingsfunksjonen til MongoDB i "DB" -instruksjonen, har vi lagt til 5 dokumenter til "Test" -samlingen på en gang. InsertMany () -funksjonen er spesifikk for å sette inn flere poster om gangen. Alle de 5 postene inneholder totalt 3 felt hver: tittel, by og område. "Tittel" -feltet er av "Streng" -type, områdefeltet er av heltallstype og byfeltet er i strengtypen som inneholder strengelementer. Utgangen fra denne instruksjonen viser bekreftelsen ved å vise de innsatte IDene til hvert dokument separat tildelt av MongoDB -databasen.
Test> DB.Test.InsertMany ([tittel: "USA", by: ["Newyork", "Chicago", "Boston"], område: 234567,Vis poster
Etter innsetting av alle postene i "Test" -samlingen av "Test" -databasen til MongoDB, er vi klare til å se på dem alle på en gang for å bekrefte innsettingen. Dermed kan MongoDBs "Find" -funksjon kastes i "DB" -instruksjonen for dette formålet. Sørg for å bruke navnet på en samling mellom nøkkelordet “DB” og Find () -funksjonen. Parametrene til funksjonen "Finn" må inneholde de tomme krøllete parentesene uten å spesifisere noe feltnavn. De tomme parentesene vurderer å hente alle postene fra samlingen med alle datafeltene mens du spesifiserer ett eller flere felt som fører til en enkelt eller bare spesifisert postvisning på skallet. Derfor viste utdataene for denne instruksjonen, med de tomme krøllete parentesene i Find () -funksjonen, alle de 5 postene av "Test" -samlingen hver med alle 3 feltene: tittelen, byen og området. Hver post kan også identifiseres separat fra en annen ved bruk av "_id" -feltet som er tildelt av MongoDB -databasen.
Test> DB.Test.finne()Eksempel # 01:
Nå som vi er ferdige med innsetting og visning av postene fra "Test" -samlingen, er vi endelig klare til å bruke $ Function Custom -funksjonen for å utføre tilpassbare operasjoner på feltene. For eksempel vil du opprette et nytt runtime -felt i samlingen "Test" som vil inneholde detaljer om landet, dets byer og området det inneholder i en enkelt setning. For dette må vi bruke alle tre feltene i "Test" -samlingen i den tilpassede $ -funksjonsoperatøren som brukes i "Aggregate" -funksjonsspørsmålet vist nedenfor. Den tilpassede funksjonen tar alle tre feltene i "test" -samlingen i parametere for å lage et nytt felt "detalj". Returerklæringen har brukt disse tre feltene for å lage en setning og vise den på skallet. Det er nødvendig å spesifisere innsamlingsfeltene som "Args" og språket som er satt til "JS". Utgangen viser et nytt "detalj" i runtime -feltet som gir nøyaktig informasjon i en setning.
Test> DB.Test.Aggregate ([$ addFields: detalj: $ funksjon: body: funksjon (tittel, by, område) return '$ title har $ City byer med $ Area Area ...', args: ["$ tittel", "$ city", "$ area"], lang: "js"]))Eksempel # 02:
La oss se på en annen illustrasjon for å bruke Custom $ -funksjonen i MongoDB. Her bruker vi operatøren på $ addfields etterfulgt av navnet på et felt "arealTriped" som vi ønsker å lage ved hjelp av $ Funksjonsoperatøren. Den tilpassede funksjonen tar 1 felt "område" som argument og "la" nøkkelordet lar oss erklære en variabel "trippel" som tar en verdi som "område" feltverdi multiplisert med 3. Returerklæringen vil returnere og vise resultatet beregnet i trippelvariabelen. Derfor viser utgangen av instruksjonen som er festet nedenfor totalt 5 felt for hvert dokument i testfeltet. Feltet "areaTriped" er blitt generert ved bruk av en tilpasset funksjon som viser området for alle de tre byene som er oppført i "by" -feltet i hvert dokument ved å multiplisere områdefeltverdien med 3.
Test> DB.Test.Aggregate ([$ addFields: AreaTriped: $ funksjon: body: funksjon (område) let triple = area*3; return '$ triple', args: ["$ area"], lang: " js "])Konklusjon
Artikkelen handler om de tilpassede funksjonene i MongoDB, og den viser hvordan et MongoDB-miljø er så kraftig ved å bruke slike funksjoner: ettersom disse funksjonene tillater innsetting av JSON-lignende data og dets gjenvinning. Etter det opprettet vi samlingen og satte inn poster i den før vi brukte Custom $ Function Operator. Etter å ha satt miljøet, brukte vi to eksempler for å illustrere bruken av Custom $ -funksjonen. Eksemplene dekket bruken av en tilpasset $ -funksjonsoperatør for å opprette et nytt datafelt ved hjelp av allerede innsatte felt i samlingen og også utføre beregninger der det er mulig via bruk av variabel erklæring gjennom bruk av "la" nøkkelordet.