MongoDB $ rand

MongoDB $ rand
MongoDB jest tak ogromny, gdy chodzi o użycie operatorów, takich jak operatorzy porównawcze, operatorzy logiczne i operatorzy ogólnego użytkowania. Operator MongoDB $ RAND służy do zwrócenia losowej wartości z określonego zakresu, ponieważ sugeruje tytuł „RAND”. Słowo „losowe” jest wykorzystywane do czegokolwiek wybranego przez przypadek bez właściwej decyzji lub priorytetu. Operator „Rand” MongoDB może być używany w połączeniu z innymi operatorami w zapytaniu do losowego wyboru i modyfikowania rekordów z określonej kolekcji. Jednym użyciem operatora $ rand jest pobieranie losowych rekordów. Operator $ RAND zapewnia użyteczny sposób na wprowadzenie losowości w zapytania MongoDB i może być używany na różne sposoby do osiągnięcia celów. W tym przewodniku będziemy rozwinąć użycie operatora „RAND” do generowania losowych rekordów pola w bazie danych.

Utwórz kolekcję w bazie danych

Zacznij od stworzenia nowej kolekcji w swoim MongoDB, jeśli nie masz. Kolekcja jest niezbędna do wykonywania dowolnej operacji w rekordach bazy danych w MongoDB. Ponadto kolekcja musi mieć już włożony co najmniej 1 dokument przed zastosowaniem do niego dowolnego polecenia. Dlatego już stworzyliśmy kolekcję w naszej bazie danych MongoDB. Nazwaliśmy go „manekinem” w naszej bazie danych „testowych”, których będziemy używać w zapytaniach.

Test> Pokaż kolekcje

Atrapa

Podczas pracy z MongoDB musisz mieć rekordy do korzystania z operatora „Rand”. Polecenie wymienione poniżej zostało wykorzystane z „DB.Atrapa.FINK () ”funkcja używana do pobierania wszystkich dokumentów z kolekcji„ manekina ”. To polecenie zwraca wszystkie dokumenty w kolekcji, w tym ich unikalne pole „_id”, a także inne pola, takie jak „miasto”, „liczba” i „desc”. Pozwala to użytkownikowi przeglądać dane przechowywane w kolekcji i podejmować decyzje dotyczące pracy z nim.

Test> db.Atrapa.znajdować()
[_ID: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, Count: 3, DESC: „MITY MILDIZE”,
_id: ObjectId („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, Count: 3, DESC: „MITY MILDISED”,
_id: ObjectID („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, Count: 10, desc: „Najpiękniejszy i zatłoczony”,
_id: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, Count: 3, DESC: „Miasto średniej wielkości”,
_ID: ObjectId („63C8A1F94FF07039AA6CDF6F”), City: „Delhi”, Count: 3, DESC: „MITY MITEDIZE”]

Przykład nr 01: $ Rand Operator

Zacznijmy od użycia polecenia MongoDB, która używa metody Agregate () w kolekcji o nazwie „Manekin” w bazie danych „Test”. Metoda agregate () służy do przetwarzania danych z kolekcji i zwracania obliczonych wyników. Polecenie korzysta z operatora projektu, który służy do przekształcania dokumentów w rurociągu. I tworzy nowe pole o nazwie „losowe”, które przypisuje się wynik operatora $ rand.

Operator $ rand generuje liczbę losową od 0 do 1 (włącznie) dla każdego rekordu w kolekcji. Następujący operator $ rand wskazuje, że operatorowi nie są przekazywane żadne argumenty, więc wygeneruje liczbę losową bez żadnych konkretnych ograniczeń. Dane wyjściowe jest szeregiem dokumentów JSON w kolekcji „manekina”, z których każdy zawiera pole „_id” i pole „losowe”. Pole „losowe” zawiera liczbę losową między wartościami od 0 do 1 lub typu pływakowego, które zostały wygenerowane przez operator $ RAND dla wszystkich 5 rekordów pokazanych również na wyniku poniżej:

Test> db.Atrapa.agregate ([$ projekt: land land: $ rand: ])))
[_ID: ObjectID („63C8A1F94FF07039AA6CDF6B”), losowo: 0.292593749216963,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6C”), losowo: 0.5529488318506414,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6D”), losowo: 0.10835699304362681,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), losowo: 0.702304030840275,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6F”), losowo: 0.32829452437455164]

Przykład nr 02: Korzystanie z $ Rand Operator z $ multiply operator

Pierwszy przykład ilustruje użycie operatora „rand” w MongoDB wyłącznie w kolekcji. Teraz będziemy go wykorzystywać w połączeniu z operatorem wielokrotności. Do tego celu używaliśmy zapytania poniżej. Zaczyna się od użycia funkcji agregatów z $ scena projektu i losowym operatorem. Tym razem operator mnożenia został zastosowany do operatora „$ rand” lub wartość, którą mamy od operatora „rand”, jest mnożona przez 10, aby wygenerować liczbę losową między 0 a 10 dla każdego dokumentu. Poniższe dane wyjściowe pokazuje szereg wszystkich dokumentów w kolekcji „manekin”, każdy z unikalnym identyfikatorem i nowym pole o nazwie losowo, które będzie utrzymywały wygenerowane liczby losowe między 0 a 10 i.mi., platforma.

Test> db.Atrapa.agregate ([$ projekt: land land: $ mnożyć: [$ rand: , 10]]))))
[_ID: ObjectID („63C8A1F94FF07039AA6CDF6B”), losowo: 9.636797271617377,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6C”), losowo: 9.612768242636559,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6D”), losowo: 9.773269856209643,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), R Andom: 4.544313454814634,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6F”), losowo: 3.3338556824055585]

Przykład nr 03: $ Rand Operator z operatorem „$ floor

Ostatnie polecenie ilustruje użycie operatora „Rand” z operatorem „pomnóż” do generowania liczb losowych typu pływakowego. Tym razem opracujemy, jak generować liczby typu liczb całkowitych za pomocą operatora „RAND” w połączeniu z operatorem „podłogowym” MongoDB. Dlatego poniższe instrukcje zostały wykonane w powładzie MongoDB w celu wytworzenia liczb losowych liczb całkowitych dla każdego rekordu w kolekcji „manekin”. Tym razem losowy operator jest mnożony przez 10, aby wygenerować liczbę losową między 0 a 10 dla każdego dokumentu. Następnie operator podłogi jest nakładany do zaokrąglenia liczby losowej do najbliższej liczby całkowitej.

Dane wyjściowe jest szeregiem wszystkich dokumentów w kolekcji, każdy z własnym unikalnym obiektem, właściwością miasta i nową właściwością o nazwie Random, która pomieści wygenerowany losowy numer liczby całkowitych od 0 do 10, jak pokazano na podstawie wyjścia instrukcji również.

Test> db.Atrapa.agregate ([$ projekt: miasto: 1, losowo: $ floor: $ mnożyć: [$ rand: , 10]]))
[_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, losowo: 5,
_id: ObjectID („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, losowo: 0,
_id: ObjectId („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, losowe: 5,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, losowo: 7,
_id: ObjectID („63C8A1F94FF07039AA6CDF6F”), City: „Delhi”, losowo: 5]

Przykład nr 04: $ Rand Operator z $ Floor Operator

Na powyższych ilustracjach pomnożyliśmy losowo wygenerowane wartości z 10 lub nic, aby wpuścić je w formie typu pływaka lub przekształcić je na wartość całkowitą. Ale w tym przykładzie pomnożymy nasze losowo wygenerowane wartości pływakowe z nieco większą liczbą, która wynosi 5000. W ten sam sposób polecenie użyte w powyższych przykładach zostało tutaj wykorzystane z niewielką zmianą. Operator „pomnóż” mnoży liczbę losową wygenerowaną przez operator $ rand przez 5000, aby zwiększyć zakres liczby losowej. Operator „podłogi” uzupełnia liczbę wygenerowaną przez $ Multiply Operator do najbliższej liczby całkowitej. Wyjście tej instrukcji poniżej pokazuje 5 rekordów na ekranie powłoki MongoDB z nową właściwością, która zawiera losową liczbę całkowitą między 0 a 5000 w następujący sposób:

Test> db.Atrapa.Aggregate ([$ projekt: miasto: 1, Random: $ floor: $ mnożyć: [$ rand: , 5000]]))
[_id: ObjectID („63C8A1F94FF07039AA6CDF6B”), City: „Texas”, losowo: 2862,
_id: ObjectID („63C8A1F94FF07039AA6CDF6C”), City: „Los Angeles”, losowo: 3688,
_id: ObjectID („63C8A1F94FF07039AA6CDF6D”), City: „Włochy”, losowe: 814,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6E”), City: „Stambul”, losowo: 3888,
_ID: ObjectID („63C8A1F94FF07039AA6CDF6F”), City: „Delhi”, Random: 2939]

Wniosek

Omówiliśmy definicję „losowego” operatora w MongoDB. Omówiliśmy także jego zastosowania w wierszu poleceń MongoDB. Następnie wypróbowaliśmy 4 z różnych przykładów, aby zademonstrować jego zastosowanie wraz z innymi operatorami. Polecenia powyżej pokazują, jak korzystać z funkcji agregacji MongoDB i różnych operatorów, takich jak $ rand, $ mnożenie i $ floor, aby manipulować danymi w kolekcji i generować nowe właściwości z liczbami losowymi.