Come utilizzare l'operatore $ JSonschema in MongoDB

Come utilizzare l'operatore $ JSonschema in MongoDB
MongoDB è un tipo di database NoSQL per gestire i dati su larga scala. La caratteristica più saliente che ha permesso a MongoDB di ottenere altezze è il supporto dello schema flessibile rispetto al tipo di database SQL. Fornisce supporto per un operatore dello schema JSON chiamato $ JSONSCHEMA che aiuta a convalidare i documenti JSON. L'operatore $ JSONSCHEMA di MongoDB aiuta a eseguire diverse operazioni come l'inserimento, la cancellazione seguendo lo schema JSON specificato.

In questo articolo, forniremo anche una visione dell'utilizzo dell'operatore $ JSonschema in MongoDB e il processo per realizzare il documento basato sullo schema JSON è fornito. Iniziamo questa guida comprendendo lo schema JSON seguito dal suo lavoro e dall'uso in MongoDB.

Cos'è JSON Schema

È un documento JSON che aiuta a definire la struttura di un messaggio JSON e può essere utilizzato per convalidare i documenti JSON. Può anche essere utilizzato per convalidare le richieste API per verificare anche il formato, i dati delle richieste API. Di solito, lo schema JSON viene creato prima di qualsiasi messaggio JSON e deve essere seguito per ulteriori azioni supportate. Tuttavia, può anche essere praticato dopo i documenti JSON. Se un documento JSON o una richiesta API non segue lo schema JSON specificato, non sarà possibile ottenere l'output richiesto.

Come utilizzare l'operatore $ JSonschema in MongoDB

La sintassi per utilizzare $ jsonchema in mongodb è fornita di seguito:

$ JSonschema:

Nel nostro caso, abbiamo usato il "clienti"Collezione in un"Linuxhint" Banca dati:

Esempio 1: Utilizzo di $ JSONSCHEMA per definire uno schema per l'operazione di inserimento

In primo luogo, è necessario specificare il $ jsonchema Durante la creazione della raccolta in MongoDB: per questo, devi seguire la sintassi menzionata di seguito:

Sintassi: (per impostare le regole di convalida per una raccolta in MongoDB)

db.CreateCollection (, validatore: $ jSonschema:)

Nella sintassi sopra,

: Si riferisce al nome che imposterà per la nuova collezione

"validatore": È una parola chiave predefinita avviare la convalida

: Contiene le regole; Ad esempio, i tipi BSON possono essere impostati per ogni campo.

Seguendo la sintassi, abbiamo creato un "clienti"Collezione e $ jsonchema L'operatore viene utilizzato per definire le regole di convalida dello schema in esso:

db.CreateCollection ("Clienti",
validatore:
$ jsonchema:
bsontype: "oggetto",
Richiesto: ["nome", "anno", "gatto"],
proprietà:
nome:
bsontype: "stringa",
Descrizione: "Il nome deve essere un valore stringa"
,
anno:
bsontype: "int",
Descrizione: "Deve essere un numero intero come il 2021)"
,
gatto:
bsontype: "stringa",
"Descrizione": "un valore di stringa"




)

Ora il seguente comando viene utilizzato qui per inserire i campi specificati nel "clienti" collezione. Il comando soddisfa le regole di convalida dello schema JSON:

> db.clienti.inserire(
Nome: "Alen",
Anno: NumberInt (2021),
Cat: "Autore"
)

Ad esempio, se le regole non sono seguite; Il comando di seguito indicato cerca di inserire un numero intero valore in "gatto”Campo: come il"gatto"Il campo non può solo accettare il"corda"Valori, quindi, la query Mongo menzionata di seguito darà un errore:

> db.clienti.inserire(
Nome: "Alen",
Anno: NumberInt (2021),
Cat: NumberInt (123)
)

Esempio 2: Utilizzo dell'operatore $ JSonschema nella lettura di documenti MongoDB

Con l'aiuto di $ jsonchema, puoi trovare documenti inseriti che segue lo schema JSON definito nella query: devi definire lo schema JSON nel tuo "Trovare()"Metodo di query:

In questo esempio, "la mia collezione"Viene utilizzato e i seguenti documenti risiedono al suo interno:

> db.la mia collezione.Trovare().bello()

Abbiamo creato l'oggetto dello schema seguente con il nome di "Linuxhintschema“:

let linuxhintschema =
Richiesto: ["nome", "stipendio", "designazione"],
proprietà:
nome: bsontype: "string",
Stipendio: bsontype: "doppio",
Designazione: bsonType: "String"

Ora, per trovare i documenti che segue le regole Linuxhintschema; È possibile utilizzare il comando di seguito menzionato per farlo:

> db.la mia collezione.Find ($ JSonschema: LinuxHintschema).bello()

Utilizzando $ né con $ jsonschema operatore: Inoltre, puoi usare $Operatore con $ JSonschema Operatore per trovare quei documenti che non soddisfano lo schema specificato:

> db.la mia collezione.find ($ né: [$ jsonchema: linuxhintschema]).bello()

Utilizzando $ JSONSCHEMA OPERATOR con $ NOR OPERATORE E METODO DI ELUTE: Usando "$ jsonchema" con "$ né" E "Eliminare"Metodo, è possibile eliminare i documenti che non soddisfano lo schema JSON (Linuxhintschema) utilizzando il comando indicato di seguito:

> db.la mia collezione.deleteMany ($ né: [$ jSonschema: LinuxHintschema])

Conclusione

I sistemi di gestione del database sono focalizzati per manipolare i dati di un'organizzazione efficace. L'operatore $ JSONSCHEMA viene utilizzato per abbinare i documenti che seguono le regole dello schema JSON; Queste regole sono definite dagli utenti. Oltre al recupero, l'operatore $ JSONSCHEMA può essere utilizzato per definire l'insieme di regole per il funzionamento di inserimento a MongoDB. Qualsiasi query di inserimento che soddisfi lo schema JSON sarà autorizzata a posizionare i dati nella raccolta pertinente.