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.