Jak korzystać z $ jsonschema operatora w MongoDB

Jak korzystać z $ jsonschema operatora w MongoDB
MongoDB to baza danych NoSQL do zarządzania danymi na dużą skalę. Najbardziej istotną cechą, która umożliwiła MongoDB uzyskanie wysokości jest elastyczna obsługa schematu w porównaniu z bazami danych SQL. Zapewnia obsługę operatora schematu JSON o nazwie $ Jsonschema, który pomaga w sprawdzeniu sprawdzania dokumentów JSON. Operator $ JSONSCHEMA w MongoDB pomaga w wykonywaniu kilku operacji, takich jak Insertion, Usunięcie, postępując zgodnie z określonym schematem JSON.

W tym artykule zapewniamy wgląd w skorzystanie z operatora $ JSONSCHEMA w MongoDB, a także proces wykonania dokumentu opartego na schemacie JSON. Zacznijmy ten przewodnik od zrozumienia schematu JSON, a następnie jego pracy i użycia w MongoDB.

Co to jest schemat JSON

Jest to dokument JSON, który pomaga zdefiniować strukturę wiadomości JSON i może być używany do weryfikacji dokumentów JSON. Można go również użyć do weryfikacji żądań API w celu sprawdzenia formatu, danych danych również żądań API. Zwykle schemat JSON jest tworzony przed jakimkolwiek komunikatem JSON i należy go przestrzegać w celu uzyskania dalszych obsługiwanych działań. Można go jednak również praktykować po dokumentach JSON. Jeśli jakikolwiek dokument JSON lub żądanie API nie będzie zgodne z określonym schematem JSON, nie będziesz w stanie uzyskać wymaganego wyjścia.

Jak korzystać z $ jsonschema operatora w MongoDB

Składnia do użycia $ jsonschema w MongoDB znajduje się poniżej:

$ jsonSchema:

W naszym przypadku użyliśmy „klienci„Kolekcja w„Linuxhint" Baza danych:

Przykład 1: Korzystanie z $ jsonschema do zdefiniowania schematu do pracy wstawienia

Po pierwsze, musisz określić $ jsonschema Podczas tworzenia kolekcji w MongoDB: W tym celu musisz postępować zgodnie ze składnią wspomnianą poniżej:

Składnia: (Aby ustawić reguły sprawdzania poprawności kolekcji w MongoDB)

db.CreateCollection (, Validator: $ jsonSchema:)

W powyższej składni,

: Odnosi się do nazwy, którą wyznaczysz na nową kolekcję

"Waliator”: Jest to wstępnie zdefiniowane słowo kluczowe do zainicjowania sprawdzania poprawności

: Zawiera zasady; Na przykład typy BSON można ustawić dla każdego pola.

Po składni stworzyliśmy „klienci”Kolekcja i $ jsonschema Operator służy do zdefiniowania w nim reguł walidacji schematu:

db.CreateCollection („Klienci”,
Waliator:
$ jsonSchema:
BSONTYPE: „Obiekt”,
Wymagane: [„Nazwa”, „rok”, „cat”],
nieruchomości:
nazwa:
BSONTYPE: „String”,
Opis: „Nazwa musi być wartością ciągu”
,
rok:
BSONTYPE: „Int”,
Opis: „Musi być liczbą całkowitą, taką jak 2021)”
,
kot:
BSONTYPE: „String”,
„Opis”: „wartość ciągu”




)

Teraz używane jest tutaj następujące polecenie do wstawienia określonych pól w „klienci" kolekcja. Polecenie spełnia reguły walidacji schematu JSON:

> db.klienci.wstawić(
Nazwa: „Alen”,
Rok: NumberInt (2021),
Cat: „Autor”
)

Na przykład, jeśli zasady nie są przestrzegane; Poniższe wspomniane polecenie próbuje wstawić liczba całkowita wartość w „kot„Pole: jako„kot„Pole może zaakceptować tylko„strunowy”Wartości, więc wymienione poniżej zapytanie Mongo da błąd:

> db.klienci.wstawić(
Nazwa: „Alen”,
Rok: NumberInt (2021),
Cat: NumberInt (123)
)

Przykład 2: Korzystanie z operatora $ JSONSCHEMA w czytaniu dokumentów MongoDB

Za pomocą $ jsonschema możesz znaleźć wstawione dokumenty, które następują po schemacie JSON zdefiniowanym w zapytaniu: musisz zdefiniować schemat JSON w swoim „znajdować()„Metoda zapytania:

W tym przykładzie „moja kolekcja”Jest używany i znajduje się w nim następujące dokumenty:

> db.moja kolekcja.znajdować().ładny()

Stworzyliśmy następujący obiekt schematu o nazwie „Linuxhintschema„:

Niech Linuxhintschema =
Wymagane: [„Nazwa”, „wynagrodzenie”, „oznaczenie”],
nieruchomości:
Nazwa: BSONTYPE: „String”,
Wynagrodzenie: BSONTYPE: „Double”,
Oznaczenie: BSONTYPE: „String”

Teraz, aby znaleźć dokumenty zgodne z regułami Linuxhintschema; Aby to zrobić, możesz użyć poniższego polecenia:

> db.moja kolekcja.Znajdź ($ jsonSchema: Linuxhintschema).ładny()

Korzystanie z $ ani z $ jsonschema operator: Ponadto możesz użyć $ani Operator z $ JSONSCHEMA, aby znaleźć te dokumenty, które nie spełniają określonego schematu:

> db.moja kolekcja.Znajdź ($ nor: [$ jsonSchema: Linuxhintschema])).ładny()

Korzystanie z operatora $ JSONSCHEMA z metodą $ ani operatorem i usuwanie: Używając "$ jsonschema" z "$ Nor" I "Usuwać„Metoda, możesz usunąć dokumenty, które nie spełniają schematu JSON (Linuxhintschema) Za pomocą polecenia określonego poniżej:

> db.moja kolekcja.deleTemany ($ nor: [$ jsonSchema: Linuxhintschema]))

Wniosek

Systemy zarządzania bazami danych koncentrują się na skutecznym manipulowaniu danymi organizacji. Operator $ JSONSCHEMA służy do dopasowania dokumentów zgodnych z regułami schematu JSON; Te reguły są zdefiniowane przez użytkowników. Oprócz odzyskania, operator $ JSONSCHEMA może być użyty do zdefiniowania zestawu reguł operacji wstawienia w MongoDB. Wszelkie zapytanie do wstawki, które spełnia schemat JSON, będzie mógł umieszczać dane w odpowiednim kolekcji.