Operator ABS MongoDB $

Operator ABS MongoDB $
Operator ABS MongoDB $ jest jednym z arytmetycznych operatorów ekspresji, który jest wdrażany w metodzie rurociągu agregacji. Wynik wartości bezwzględnej danej liczby w skrypcie jest zwracany za pomocą operatora $ ABS. Wartość bezwzględna oznacza, że ​​niezależnie od tego, czy liczba całkowita jest dodatnia, czy ujemna, zawsze generuje wartość dodatnią. Operator $ ABS podaje wartość zerową, gdy wartość liczb całkowita jest zerowa. Dodatkowo operator $ ABS zwraca również wartość zerową, jeśli wartość wejściowa odpowiada pustym polu.

Jak działa operator $ ABS w MongoDB

Operator $ ABS daje wyjście wartości bezwzględnej w MongoDB. Teraz mamy następujące przykładowe przypadki, aby wykazać funkcję operatora $ ABS w MongoDB. Pracujemy z kolekcją „StudentReport”, w której wstawiane są następujące dokumenty, co pokazuje uczniowi z raportem wyników i szczegółami na temat struktury opłat. Trzy dokumenty z kolekcji „StudentReport” są wstawiane, wykorzystując polecenie insertMany () MongoDB.

db.Studentreport.wstrząs

„_id”: 1,
„Student”: „Emily”,
„Mid-termin-marki”: 300,
„Terminowo końcowe”: 450,
„TotalMarks”: „1000”,
„StudentFees”: „Admissionfees”: 50000,
„Semestrfees”: 30000
,

„_id”: 2,
„Student”: „Jenny”,
„Mid-termin-marki”: 400,
„Terminowe cechy”: 490,
„TotalMarks”: „1000”,
„StudentFees”: „Admissionfees”: 60000,
„Semestrfees”: 35000
,

„_id”: 3,
„Student”: „Lara”,
„Mid-termin-marki”: 399,
„Terminowe znaczenia”: 500,
„TotalMarks”: „1000”,
„StudentFees”: „Admissionfees”: 70000,
„Semestrfees”: 50000

])

Tam mamy dane wyjściowe po włożeniu dokumentów do kolekcji „StudentReport”. Teraz operator $ ABS można zastosować do pól dokumentów, postępując zgodnie z składnią tego operatora:

potwierdzony: true, InsertedIds: '0': 1, '1': 2, '2': 3

Przykład 1: Korzystanie z operatora ABS

Używamy tutaj operatora $ ABS MongoDB, aby po prostu uzyskać wartość bezwzględną dostarczonych pól. Podstawowe zapytanie operatora ABS jest podane w następujący sposób:

db.Studentreport.agregat([
$ projekt:
„Mid-TermMarks”: $ ABS: [„$ MID-THERMMARKS”],
„Final TermMarks”: $ ABS: ["$ final-termmarks"]
])

Tutaj najpierw wdrażamy metodę agregacji. Następnie projekt $ jest ustawiony. Następnie ustawiliśmy pola „śródokresowe” i „terminy końcowe” w ramach operatora projektu $. Każde pole jest przypisane do wyrażenia, w którym stosuje się operator $ ABS. „Mid-terminarki” zawiera wyrażenie „$ ABS: [„ $ MID-TERMERMARKS ”], które otrzymuje bezwzględną wartość średniego okresu studenckiego od operatora $ ABS. Podobnie stosujemy operator $ ABS do drugiego pola, który jest „końcowymi znakami”. Oba te pola są ustawione z osobnym operatorem „$ ABS” na indywidualne uzyskane wartości bezwzględne.

Absolutne oceny śródokresowe i oceny końcowe są zwracane przez operatora ABS MongoDB $. Należy zauważyć, że wartość bezwzględna z operatora $ ABS usuwa znak ujemny, jeśli dowolne pole zawiera znak ujemny w dokumencie.

[[[
_id: 1, „Mid-TermMarks”: 300, „końcowe termin”: 450,
_id: 2, „Mid-TermMarks”: 400, „końcowe termin”: 490,
_ID: 3, „Mid-TermMarks”: 399, „Termin terminu”: 500
]

Przykład 2: Korzystanie z operatora $ ABS z operatorem $ Add

Operator $ ABS może być również używany z innym operatorem w MongoDB. Używamy operatora $ Add w operatorze $ ABS, aby dodać wartości razem. Możemy zastosować operator arytmetyczny wewnątrz operatora $ ABS, ponieważ akceptuje tylko wartość numeryczną. Polecenie operatora $ ABS wraz z operatorem $ Add do dodatkowych celów jest wyświetlane w następujący sposób:

db.Studentreport.agregate ([$ match: student: „Emily”,
$ projekt:
Znaki: $ abs:
$ add: [„$ mid-termmarks”, „$ finalter-termmarks”]]))))

Tutaj najpierw nazywamy operator $ Project, który jest określony w polu „Marks”. Pole „Znaki” jest przypisane do całkowitych znaków, które są zwracane przez operator $ ABS. Następnie podajemy wyrażenie operatora $ ABS - $ ABS: $ add: [„$ Mid -TermMarks”, „$ końcowe terminy” - gdy wstawiamy operator „$ add”, który jest dalej określony z „$ MID -Marmy terminowe ”i„ $ końcowe terminy ”. Operator $ Add najpierw dodaje wartości tych pola ustawionych. Następnie dodatkowe wyniki są przypisywane do operatora $ ABS. Operator $ ABS generuje wartość bezwzględną w wyjściu.

Wynik operatora $ ABS według operacji $ dodaj jest pobrany tutaj:

[_id: 1, znaki: 750]

Przykład 3: Korzystanie z operatora $ ABS z operatorem odejmowania $

Możemy użyć operatora $ Add w operatorze $ ABS do operacji dodawania. Możemy również użyć operatora odejmowania $ do oceny różnicy wielkości między określonymi dziedzinami z dokumentów. Zamiast operatora $ Add, stosujemy operator odejmowania $, który można zobaczyć w następujący sposób:

db.Studentreport.agregat([
$ match: _id: 1,
$ projekt:
„Śródokresowe cechy”: 1,
„Terminowo końcowe”: 1,
wynik:
$ abs: $ subtract: [„$ MID-TERMMARKS”, „$ końcowe terminy”]



]
)

Tutaj najpierw dopasowujemy dokument za pomocą operatora $ Match. Operator $ Match przeszukuje dokument, którego pole „_id” to „1”. Następnie ustawiamy operator $ Project, w którym pola „Mid-TermMraks” i „Terminter terminowe” są przypisane liczbą „1”, która wskazuje, że pola te muszą być zawarte w wyjściu. Następnie mamy pole „Wynik”, które przypisuje wartość zwrotu operatora ABS. Operator $ ABS jest stosowany, w którym operator odejmowania $ jest ustawiony, aby uzyskać różnicę od znaków, które są dostarczane do „śródokresów” i „końcowych znaków”.

Poprzednie polecenie operatora $ ABS w dokumencie „_id: 1” ma następujące dane wyjściowe:

[[[
_ID: 1, „Mid-TermMarks”: 300, „Termin terminu”: 450, wynik: 150
]

Przykład 4: Korzystanie z operatora $ ABS w wbudowanym dokumencie

Następnie ustawiamy operator $ ABS dla wbudowanego dokumentu, który działa tak samo jak poprzedni przykład. Rozważmy kolejne zapytanie operatora ABS podczas następującej demonstracji:

db.Studentreport.agregat([
$ match: student: „lara”,

$ Project:

Student: 1,
StudentFees: $ abs: $ add: [
„$ StudentFees.Admissionfees ”,„ $ StudentFees.Semestrfees "]
])

Tutaj dopasowujemy dokument, w którym pole „Student” ma wartość „LARA”. Następnie uwzględniamy pole „Student” do wyjścia, przypisując je o wartości „1” w projekcie $. Projekt $ jest ustawiony z operatorem $ ABS w polu wbudowanego „StudentFees”. Operator $ ABS podaje kwotę całkowitych opłat poprzez dodanie wartości osadzonych pól - „przede wszystkim” i „semestrfees”.

Poniżej znajdują się całkowite opłaty, które otrzymujemy od operatora ABS:

[_ID: 3, Student: „Lara”, StudentFees: 120000]

Przykład 5: Korzystanie z operatora ABS dla wartości NAN

Gdy wartość dostarczana do operatora $ nie jest numerycznym typem danych ani nieokreśloną wartością, wartość „nan” jest podnoszona. Mamy dane przykładowe zapytanie, w którym operator $ ABS generuje wynikową wartość jako „nan”:

db.Studentreport.agregat([
$ match: _id: 3,
$ projekt:
„_id”: 1,
„Mid-TermMarks”: $ ABS: [„$ MID-THERMMARKS”],
„Końcowe terminy”: $ abs: [1 * "s"]


])

Tutaj szukamy dokumentu zawierającego wartość „id” „3”. Po wyszukiwaniu wdrażamy operator $ Project, w którym „średnia termin” jest dostarczana z operatorem ABS, aby nadać wartość bezwzględną. Następnie ustawiamy operator $ ABS w „końcowych znakach”, w którym operator $ ABS działa na wartości liczbowej „1”, która jest mnożona przez wartość ciągów „S”.

Wynik wyświetla wartość bezwzględną dla pola „śródokresowe” i wartość NAN dla „końcowych znaków”.

[_id: 3, „Mid-TermMarks”: 399, „końcowe termin”: nan]

Wniosek

Artykuł dotyczy pracy operatora ABS w MongoDB. Możemy określić wartość bezwzględną za pomocą operatora $ ABS. Operator $ ABS wraz z jego inną przykładową wdrożeniem pokazano w tym artykule. Wykorzystaliśmy operator $ ABS z osadzonymi dziedzinami dokumentu. Następnie połączyliśmy różne operatory arytmetyczne w operatorze $ ABS. Ponadto operator $ ABS przyjmuje wartości argumentów NAN, które zwróciły wynik NAN w wyjściu.