MongoDB $ ABS -operatør

MongoDB $ ABS -operatør
MongoDB $ ABS -operatør er en av de aritmetiske uttrykksoperatørene som er distribuert i aggregeringsrørledningsmetoden. Det absolutte verdi resultatet av et gitt tall i skriptet returneres ved hjelp av $ ABS -operatøren. Den absolutte verdien innebærer at hvorvidt heltallet er positivt eller negativt, genererer det alltid en positiv verdi. $ ABS -operatøren gir nullverdien når heltallverdien er null. I tillegg returnerer også $ ABS -operatøren nullverdien hvis inngangsverdien tilsvarer et tomt felt.

Hvordan fungerer $ ABS -operatøren i MongoDB

$ ABS -operatøren gir en utgang av den absolutte verdien i MongoDB. Nå har vi noen følgende eksempel for å demonstrere funksjonen til $ ABS -operatøren i MongoDB. Vi jobber med "StudentReport" -samlingen der følgende dokumenter settes inn som viser studenten med resultatrapporten og detaljer om gebyrstrukturen deres. De tre dokumentene i "StudentReport" -samlingen settes inn ved å bruke INSERTMANY () -kommandoen til MongoDB.

db.StudentReport.INSERTMANY ([

"_id": 1,
"Student": "Emily",
"Midt-terminmerker": 300,
"Final-terminmerker": 450,
"Totalmarks": "1000",
"StudentFees": "AdmissionFees": 50000,
"Semesterfees": 30000
,

"_id": 2,
"Student": "Jenny",
"Midt-terminmerker": 400,
"Final-terminmerker": 490,
"Totalmarks": "1000",
"StudentFees": "AdmissionFees": 60000,
"Semesterfees": 35000
,

"_id": 3,
"Student": "Lara",
"Midt-terminmerker": 399,
"Final-terminmerker": 500,
"Totalmarks": "1000",
"StudentFees": "AdmissionFees": 70000,
"Semesterfees": 50000

])

Der har vi en utdata etter å ha satt inn dokumentene i "StudentReport" -samlingen. Nå kan $ ABS -operatøren brukes på dokumenters felt ved å følge denne operatørens syntaks:

anerkjent: sant, innsats: '0': 1, '1': 2, '2': 3

Eksempel 1: Bruke operatøren $ ABS

Vi bruker $ ABS -operatøren av MongoDB her for bare å få den absolutte verdien av de medfølgende feltene. Den grunnleggende spørringen til $ ABS -operatøren er gitt som følger:

db.StudentReport.aggregat ([
$ prosjekt:
"Mid-terminmerker": $ abs: ["$ midt-terminmarks"],
"Final-Termmarks": $ abs: ["$ final-termmarks"]
])

Her distribuerer vi først den samlede metoden. Deretter er $ -prosjektet satt. Etter det satte vi "Mid-terminmerker" og "Final-Termmarks" -feltene innen $ Prosjektoperatøren. Hvert felt er tilordnet uttrykket der $ ABS -operatøren er ansatt. "Midt-terminmerker" inneholder "$ ABS: [" $ Mid-terminmers "]" -uttrykket som får den absolutte verdien av studenten midt-siktemerker fra $ ABS-operatøren. På samme måte bruker vi $ ABS-operatøren på det andre feltet som er "Final-Termmarks". Begge disse feltene er satt med den separate "$ abs" -operatøren til de individuelle absolutte verdiene som er oppnådd.

De absolutte midtveismerket og de endelige merkene blir returnert av MongoDB $ ABS-operatøren. Merk at den absolutte verdien fra $ ABS -operatøren fjerner det negative tegnet hvis noe felt inneholder det negative tegnet i dokumentet.

[
_id: 1, 'Mid-terminmerker': 300, 'Final-Termmarks': 450,
_id: 2, 'Mid-terminmerker': 400, 'Final-Termmarks': 490,
_id: 3, 'Mid-terminmarks': 399, 'Final-Termmarks': 500
]

Eksempel 2: Bruker $ ABS -operatøren med $ Legg til operatøren

$ ABS -operatøren kan også brukes sammen med en annen operatør i MongoDB. Vi bruker $ ADD -operatøren i $ ABS -operatøren for å legge til verdiene sammen. Vi kan bruke den aritmetiske operatøren i $ ABS -operatøren, da den bare godtar den numeriske verdien. Kommandoen til $ ABS -operatøren sammen med $ Legg til operatøren for ytterligere formål vises som følger:

db.StudentReport.Aggregate ([$ match: Student: "Emily",
$ prosjekt:
Merker: $ abs:
$ Legg til: ["$ Mid-terminmarks", "$ final-termmarks"]])

Her kaller vi først $ prosjektoperatøren som er spesifisert med "Marks" -feltet. "Marks" -feltet er tilordnet de totale merkene som returneres av $ ABS -operatøren. Deretter gir vi $ ABS -operatøruttrykket - $ abs: $ add: [“$ midt -terminmers”, “$ final -terminmers” - når vi setter inn “$ add” -operatøren som er ytterligere spesifisert med “$ midt -Termmarks ”og“ $ Final-terminmarks ”-felt. $ Add -operatøren legger først til verdiene til disse setfeltene. Deretter tildeles tilleggsresultatene til $ ABS -operatøren. $ ABS -operatøren genererer den absolutte verdien i utgangen.

Resultatet av $ ABS -operatøren av $ ADD -operasjonen hentes her:

[_id: 1, merker: 750]

Eksempel 3: Bruke $ ABS -operatøren med $ Subaktract Operator

Vi kan bruke $ ADD -operatøren i $ ABS -operatøren for tilleggsoperasjonen. Vi kan også bruke $ subtract -operatøren til å evaluere størrelsesforskjellen mellom de spesifiserte feltene fra dokumentene. I stedet for $ AD -operatøren, bruker vi $ Subaktract Operator som kan sees i følgende:

db.StudentReport.aggregat ([
$ match: _id: 1,
$ prosjekt:
"Midt-terminmerker": 1,
"Final-terminmerker": 1,
resultat:
$ abs: $ trekke: ["$ midt-terminmarks", "$ final-termmarks"]



]
)

Her samsvarer vi med dokumentet først ved hjelp av $ Match -operatøren. $ Match -operatøren søker etter dokumentet hvis "_id" -feltet er "1". Deretter setter vi $ prosjektoperatøren der "Mid-terminmraks" og "Final-terminmers" -feltene blir tildelt med et tall "1" som indikerer at disse feltene må inkluderes i utgangen. Etter dette har vi et "resultat" -felt som tildeler returverdien til $ ABS -operatøren. $ ABS-operatøren brukes der $ subtraktatøren er satt til å få forskjellen fra merkene som blir gitt til "midt-terminmerker" og "endelige terminmerker".

Den forrige $ ABS -operatørkommandoen til dokumentet “_ID: 1” har følgende utgang:

[
_id: 1, 'Mid-terminmerker': 300, 'Final-Termmarks': 450, Resultat: 150
]

Eksempel 4: Bruke operatøren $ ABS i det innebygde dokumentet

Deretter setter vi $ ABS -operatøren for det innebygde dokumentet som fungerer det samme som forrige eksempel. La oss vurdere et annet spørsmål fra $ ABS -operatøren i følgende demonstrasjon:

db.StudentReport.aggregat ([
$ match: student: "lara",

$ prosjekt:

Student: 1,
StudentFees: $ abs: $ add: [
"$ Studentfees.Opptak "," $ studentfees.Semesterfees "]
])

Her samsvarer vi med dokumentet der "Student" -feltet har "Lara" -verdien. Deretter inkluderer vi "student" -feltet i utgangen ved å tilordne det med en verdi av "1" i $ -prosjektet. $ -Prosjektet er satt med $ ABS -operatøren på det innebygde "Studentfees" -feltet. $ ABS -operatøren gir beløpet for de totale gebyrene ved å legge til verdiene til de innebygde feltene - “Admissionfees” og “Semesterfees”.

Følgende er de totale gebyrene vi får fra $ ABS -operatøren:

[_id: 3, Student: 'Lara', Studentfees: 120000]

Eksempel 5: Bruke operatøren $ ABS for NAN -verdier

Når verdien som gis til $ -operatøren ikke er en numerisk datatype eller en udefinert verdi, heves "NAN" -verdien. Vi har et gitt eksempel spørring der $ ABS -operatøren genererer den resulterende verdien som "NAN":

db.StudentReport.aggregat ([
$ match: _id: 3,
$ prosjekt:
"_id": 1,
"Mid-terminmerker": $ abs: ["$ midt-terminmarks"],
"Final-terminmers": $ abs: [1 * "s"]


])

Her søker vi etter dokumentet som inneholder "ID" -verdien "3". Etter å ha søkt, distribuerer vi $ prosjektoperatøren der "Mid-terminmerker" er utstyrt med $ ABS-operatøren for å gi den absolutte verdien. Deretter setter vi $ ABS-operatøren i "endelige terminmerker" der $ ABS-operatøren jobber med den numeriske verdien av "1" som multipliseres med strengverdien til "S".

Resultatet viser den absolutte verdien for feltet "Midt-terminmerker" og NAN-verdien for "endelige terminmerker".

[_id: 3, 'Mid-terminmarks': 399, 'Final-terminmarks': Nan]

Konklusjon

Artikkelen handler om arbeidet med $ ABS -operatøren i MongoDB. Vi kan bestemme den absolutte verdien ved bruk av $ ABS -operatøren. $ ABS -operatøren sammen med dets forskjellige eksempelimplementering er demonstrert i denne artikkelen. Vi brukte $ ABS -operatøren med de innebygde feltene i dokumentet. Deretter kombinerte vi de forskjellige aritmetiske operatørene i $ ABS -operatøren. Videre tar operatøren på $ ABS NAN -argumentverdiene som returnerte NAN -resultatene i utgangen.