Ceil $ i podłoga $ to arytmetyczne operatory ekspresji, które są dostępne w MongoDB do użycia na różnych etapach rurociągu zagregowanego. Operator $ CEIL służy do pobrania najniższej wartości całkowitej, która jest większa lub równa danej wartości całkowitej. Podczas gdy operator podłogi $ MongoDB działa, aby uzyskać najwyższą liczbę całkowitą, która jest mniejsza lub równa danej wartości. MongoDB $ CEIL i operatorzy $ podłogowej akceptują ważne wyrażenie, które ocenia wartość liczbową.
Jak korzystać z operatorów MongoDB $ i $
Operatorzy $ Ceil i $ podłogowe są stosowane do pola dokumentów zawierających wartości liczbowe. Wkładamy więc dokumenty wraz z różnymi dziedzinami w kolekcji MongoDB „ExamsReport”. Tutaj używamy polecenia InsertMany, aby natychmiast dodać dokument. Reprezentacja wstawienia dokumentu do kolekcji „Egzaminacja” jest następująca:
db.Egzaminy.wstrząs
„_id”: 1,
„Student”: „Tan” ,
„Departament”: „It”,
„Procent”: 98.99,
„CGPA”: 3.9,
„Marks”: „Internalmarks”: 10.5,
„Zaraz zewnętrzny”: 11.75
,
„_id”: 2,
„Student”: „Kim” ,
„Wydział”: „CS”,
„Procent”: 88.45,
„CGPA”: 3.68,
„Marks”: „Internalmarks”: 9.5,
„Exteralmarks”: 7.25
,
„_id”: 3,
„Student”: „Jenny” ,
„Wydział”: „CS”,
„Procent”: 95.72,
„CGPA”: 3.84,
„Marks”: „Internalmarks”: 8.5,
„Exteralmarks”: 9.75
,
„_id”: 4,
„Student”: „Harry” ,
„dział”: „se”,
„Procent”: 84.23,
„CGPA”: 3.50,
„Marks”: „Internalmarks”: 5.65,
„Exteralmarks”: 7.28
,
„_id”: 5,
„Student”: „Charlie” ,
„Departament”: „It”,
„Procent”: 81.3,
„CGPA”: NULL,
„Marks”: „Internalmarks”: 4.5,
„Zaraz zewnętrzny”: 6.9
])
Gdy dokumenty są wstawiane bez rozwiązywania problemów, dane wyjściowe generowane przez powłokę MongoDB wygląda tak:
Uznany: prawda,
InsertedIds: '0': 1, „1”: 2, „2”: 3, „3”: 4, „4”: 5
Przykład 1: Korzystanie z operatora $ Ceil w MongoDB
Operator $ CEIL jest tutaj używany do uzyskania sufitu dostarczonego pola z dokumentu kolekcji „ExamSreport”. Używamy funkcji agregate (), w której zatrudniamy operatora projektu $. Określamy pole „Student” o wartości „1”, które należy uwzględnić wraz z wartościami sufitowymi. Operator projektu $ jest następnie zdefiniowany za pomocą atrybutu „%sufitu”. Atrybut „Sufit%” jest ustawiony na warunkach „$ CEIL:„ $ procent ”. Używany jest tutaj operator „$ CEIL”, który przyjmuje pole „$ procent”, aby wygenerować wartość pułapu.
db.Egzaminy.agregat(
[[[
$ Project:
„Student”: 1,
„Sufit%”: $ Ceil: „$ procent”
]
)
Wyjście z nowym polem „%sufitu”, w którym wyświetlane są wartości sufitowe w polu od operatora CEIL. Wszystkie wartości sufitowe są najmniejszymi liczbami, które są większe lub równe procentom.
[[[
_id: 1, student: „tan”, „sufit%”: 99,
_id: 2, uczeń: „Kim”, „sufit%”: 89,
_id: 3, uczeń: „Jenny”, „sufit%”: 96,
_id: 4, Student: „Harry”, „Sufit%”: 85,
_id: 5, uczeń: „Charlie”, „sufit%”: 82
]
Przykład 2: Korzystanie z operatora $ CEIL dla wbudowanego dokumentu w MongoDB
Teraz wdrażamy operator $ CEIL, aby znaleźć najmniejszą liczbę liczbową wartość sufitową, która jest większa lub równa wartości zagnieżdżonego pola „Międzynarodowe” pola „Znaki”. Najpierw określamy operator projektu $ w poleceniu agregatów. Następnie ustawiamy wartość „1” dla wbudowanych „znaków.Pole, które należy wyświetlić z wynikami. Następnie mamy atrybut „Znaki suingli”, który jest wprowadzany do operatora $ CEIL jako „$ CEIL:„ $ Marks.Internalmarks ””. Zauważ, że operator $ CEIL jest przypisany do osadzonych „Znaki.Pole interlummarks, aby pobrać wartość sufitową tego pola.
db.Egzaminy.agregat([
$ projekt:
"Znaki.Międzynarodowe ”: 1,
Znaki suingniczne: $ CEIL: „$ Marks.Internalmarks "])
Wyniki pokazują, gdzie mamy wbudowane wartości pola „międzynarodowe” i uzyskano wartości sufitu. Otrzymane wartości pułapu są zaokrąglone od rzeczywistych wartości określonego pola.
[[[
_id: 1, znaki: Internalmarks: 10.5, cechy suingne: 11,
_id: 2, znaki: Interalmarks: 9.5, cechy: 10,
_id: 3, znaki: Internalmarks: 8.5, cechy suingne: 9,
_id: 4, znaki: Internalmarks: 5.65, cechy suingne: 6,
_id: 5, znaki: Internalmarks: 4.5, cechy suingne: 5
]
Przykład 3: Korzystanie z operatora $ Ceil dla pola brakującego dokumentu w MongoDB
Kiedy operator $ CEIL MongoDB napotyka pole dokumentu nieistniejącego, daje wartość zerową. Rozważ zapytanie, w którym używamy operatora $ CEIL, aby uzyskać najmniejszą wartość całkowitą, która jest większa lub równa pola, które nie istnieje w dokumencie. W tym celu używamy operatora $ Match, w którym wyraża się wyrażenie „„ dział ”:„ it ”” w celu dopasowania do tego konkretnego dokumentu. Następnie nazywamy operator $ Project, który jest wprowadzany do pola „Student” z liczbą całkowitą „1”, która wskazuje, że tylko pole „studenckie” pojawia się na wyjściu. Następnie tworzymy atrybut „CuilingMobile” dla zastosowania operatora $ Ceil. Zapewniamy pole „$ mobile_number” do operatora $ CEIL, który jest brakującym polem dokumentów windykacyjnych „egzaminacyjnych”.
db.Egzaminy.agregat(
[[[
$ match: „dział”: „it”,
$ Project:
„Student”: 1,
CeilingMobile: $ CEIL: „$ Mobile_Number”
]
)
Tam widzimy, że wartość zerowa jest uzyskiwana w stosunku do atrybutu „CuilingMobile”, ponieważ pole nieistniejące jest ustawione dla operatora $ Ceil.
[[[
_id: 1, student: „tan”, suingMobile: null,
_id: 5, uczeń: „Charlie”, CeilingMobile: null
]
Przykład 4: Korzystanie z operatora podłogowego $ w MongoDB
Tutaj zaczynamy od kolejnego operatora podłogowego MongoDB. Otrzymujemy największą liczbę od operatora podłogowego $, który jest mniejszy lub równy danej liczbie całkowitej. Dlatego dopasowujemy dokument „dział”, którego wartość to „CS”, który jest ustawiony jako warunek dla $ Match Operator. Następnie projektujemy pole „CGPA” i atrybut „FloorCGPA” w ramach operatora projektu $. „FloorCGPA” ma instrukcję „$ $ Floor:„ $ cgpa ””, w którym operator $ floor jest wykorzystywany do uzyskania największej wartości, która jest mniejsza lub równa wartościom pola „$ cgpa”.
db.Egzaminy.agregat([
$ match: dział: „cs”,
$ projekt:
CGPA: 1,
FOLOCCGPA: $ floor: „$ cgpa”]))
Operator $ Floor zwraca następujące wartości z pola „CGPA”. „CGPA” to rzeczywiste wartości, a „FloorCGPA” są wartościami podłogowymi.
[[[
_id: 2, CGPA: 3.68, FoxCGPA: 3,
_id: 3, CGPA: 3.84, FloorCGPA: 3
]
Przykład 5: Korzystanie z operatora podłogowego $ dla wartości zerowej w MongoDB
$ Podłoga i operatorzy $ CEIL zwracają zerową, gdy pole zawiera wartość zerową, aby uzyskać wartości sufitu i podłogi. Tutaj bierzemy przykład z operatorem podłogowym $. Określamy dokument „„ _id ”: 5” do operatora $ match, którego pole „CGPA” ma wartość zerową. Następnie przekazujemy to pole „CGPA” operatorowi $ FLOOR, które jest ustawione w atrybucie „Wartość podłogowa” operatora $. Tutaj operator $ floor po prostu zwraca zerowe wyjście, ponieważ wartość „CGPA” to „null”.
db.Egzaminy.agregat(
[[[
$ match: "_id": 5,
$ Project:
„Student”: 1,
„CGPA”: 1,
FloorValue: $ floor: „$ cgpa”
]
)
Poniższe wyniki są generowane tam, gdzie pole „CGPA” ma wartość zerową, dlatego wartość podłogi jest zerowa w stosunku do pola „wartości podłogowej”.
[_id: 5, CGPA: NULL, FLOOLEWE: NULL]
Przykład 6: Korzystanie z operatora podłogowego $ do operacji NAN w MongoDB
Operator $ podłogowy, a także operator $ CEIL wyprowadzają NAN, jeśli wartość argumentu jest nan. Tutaj mamy wdrożenie tego stwierdzenia. Znajdujemy dokument, który przechowuje wartość pola „Student” jako „Harry”. Następnie wywołujemy operator $ podłogę wewnątrz $ Project Operator i atrybut „podłogi”, który jest określony z nieokreślonym wyrażeniem „$ $ Floor:„ $ cgpa ” * 1”.
db.Egzaminy.agregat(
[[[
$ match: „student”: „Harry”,
$ projekt:
Pięć: $ floor: „$ cgpa” * 1
]
)
Atrybut „podłogi” ma wartość „NAN” zwrócona z operatora $ Floor.
[_id: 4, piętro: nan]
Wniosek
Ten artykuł dotyczy funkcjonalności MongoDB $ Ceil i $ podłogowej. Najpierw omówiliśmy podstawowy przykład zarówno operatorów $ Ceil, jak i $. Następnie wzięliśmy różne scenariusze zarówno dla operatorów $ Ceil, jak i $. Najpierw wykorzystaliśmy operator $ CEIL na wbudowanym dokumencie, a następnie zastosowaliśmy operator $ CEIL na polu, który nie jest częścią żadnego dokumentu. Następnie mamy przypadki operatora podłogowego $, z których odzyskaliśmy wartości null i nan z powodu określonych wyrażeń.