Operatore MongoDB $ ABS

Operatore MongoDB $ ABS
L'operatore MongoDB $ ABS è uno degli operatori di espressione aritmetica che viene distribuito nel metodo della pipeline di aggregazione. Il risultato del valore assoluto di un determinato numero nello script viene restituito utilizzando l'operatore $ ABS. Il valore assoluto implica che se l'intero è positivo o negativo, genera sempre un valore positivo. L'operatore $ ABS fornisce il valore nullo quando il valore intero è null. Inoltre, l'operatore $ ABS restituisce anche il valore null se il valore di input corrisponde a un campo vuoto.

Come funziona l'operatore $ ABS in MongoDB

L'operatore $ ABS fornisce un output del valore assoluto in MongoDB. Ora, abbiamo alcuni seguenti casi di esempio per dimostrare la funzione dell'operatore $ ABS in MongoDB. Stiamo lavorando con la collezione "StudentReport" in cui vengono inseriti i seguenti documenti che mostrano allo studente il rapporto dei risultati e i dettagli sulla loro struttura delle commissioni. I tre documenti nella collezione "StudentReport" sono inseriti utilizzando il comando insertmany () di MongoDB.

db.StudentReport.InsertMany ([

"_id": 1,
"Studente": "Emily",
"Mid-Termarks": 300,
"Final-Termarks": 450,
"TotalMarks": "1000",
"StudentFees": "AdmissionFees": 50000,
"Semi di semi": 30000
,

"_id": 2,
"Studente": "Jenny",
"Mid-Termarks": 400,
"Final-Termarks": 490,
"TotalMarks": "1000",
"StudentFees": "AdmissionFees": 60000,
"Semi di semi": 35000
,

"_id": 3,
"Studente": "Lara",
"Mid-Termarks": 399,
"Final-Termarks": 500,
"TotalMarks": "1000",
"StudentFees": "AmmissionFees": 70000,
"Semi -Feees": 50000

])

Lì, abbiamo un output dopo aver inserito i documenti nella collezione "StudentReport". Ora, l'operatore $ ABS può essere applicato ai campi dei documenti seguendo la sintassi di questo operatore:

riconosciuto: True, InsertedIds: '0': 1, '1': 2, '2': 3

Esempio 1: utilizzando l'operatore $ ABS

Usiamo l'operatore $ ABS di MongoDB qui per ottenere semplicemente il valore assoluto dei campi forniti. La query di base dell'operatore $ ABS è riportata come segue:

db.StudentReport.aggregato([
$ Progetto:
"Mid-Termarks": $ ABS: ["$ Mid-Termarks"],
"Final-Termarks": $ ABS: ["$ Final-Termarks"]
])

Qui, distribuiamo prima il metodo aggregato. Quindi, il progetto $ è impostato. Successivamente, abbiamo impostato i campi "Mid-Termarks" e "Final-Termarks" all'interno dell'operatore $ Project. Ogni campo è assegnato con l'espressione in cui viene impiegato l'operatore $ ABS. L'espressione "Mid-Termarks" contiene l'espressione "$ ABS: [" $ mid-torks "] che ottiene il valore assoluto dello studente segni a medio termine dall'operatore $ ABS. Allo stesso modo, applichiamo l'operatore $ ABS al secondo campo che è "Termari finali". Entrambi questi campi sono impostati con l'operatore "$ ABS" separato ai singoli valori assoluti ottenuti.

I segni assoluti a medio termine e i marchi a termine finali vengono restituiti dall'operatore MongoDB $ ABS. Si noti che il valore assoluto dall'operatore $ ABS rimuove il segno negativo se un campo contiene il segno negativo nel documento.

[
_id: 1, "Mid-Termarks": 300, "Final-Termarks": 450,
_id: 2, "Mid-Termarks": 400, "Final-Termarks": 490,
_id: 3, "Mid-Termarks": 399, "Final-Termarks": 500
"

Esempio 2: utilizzando l'operatore $ ABS con l'operatore $ ADD

L'operatore $ ABS può anche essere utilizzato con un altro operatore in MongoDB. Usiamo l'operatore $ ADD all'interno dell'operatore $ ABS per aggiungere i valori insieme. Possiamo applicare l'operatore aritmetico all'interno dell'operatore $ ABS in quanto accetta solo il valore numerico. Viene visualizzato il comando dell'operatore $ ABS insieme all'operatore $ ADD per scopi aggiuntivi come segue:

db.StudentReport.Aggregate ([$ Match: Student: "Emily",
$ Progetto:
Marks: $ ABS:
$ ADD: ["$ Mid-Termarks", "$ Final-Termarks"]])

Qui, chiamiamo per la prima volta l'operatore $ Project specificato con il campo "Marks". Il campo "Marks" è assegnato con i marchi totali che vengono restituiti dall'operatore $ ABS. Quindi, forniamo l'espressione dell'operatore $ ABS - $ ABS: $ ADD: ["$ Mid -Termarks", "$ Final -Termarks" - mentre inseriamo l'operatore "$ add" che è ulteriormente specificato con "$ mid -termmarks ”e campi da" $ terzini ”. L'operatore ADD $ prima aggiunge i valori di questi campi impostati. Quindi, i risultati aggiuntivi sono assegnati all'operatore $ ABS. L'operatore $ ABS genera il valore assoluto nell'output.

Il risultato dell'operatore $ ABS da parte dell'operazione $ ADD è recuperato qui:

[_id: 1, segni: 750]

Esempio 3: utilizzando l'operatore $ ABS con l'operatore $ sottract

Possiamo utilizzare l'operatore $ ADD nell'operatore $ ABS per l'operazione di addizione. Possiamo anche utilizzare l'operatore di sottrazione $ per valutare la differenza di magnitudo tra i campi specificati dai documenti. Invece dell'operatore $ ADD, applichiamo l'operatore $ sottract che può essere visto di seguito:

db.StudentReport.aggregato([
$ match: _id: 1,
$ Progetto:
"Mid-Termarks": 1,
"Final-Termarks": 1,
Risultato:
$ ABS: $ sottract: ["$ mid-tormarks", "$ final-tormarks"]



"
)

Qui, abbiniamo prima il documento utilizzando l'operatore $ Match. L'operatore $ Match cerca il documento il cui campo "_id" è "1". Quindi, abbiamo impostato l'operatore $ Project in cui sono assegnati i campi "Mid-Termmraks" e "Final-Termarks". Dopo questo, abbiamo un campo "risultato" che assegna il valore di restituzione dell'operatore $ ABS. L'operatore $ ABS viene applicato in cui l'operatore di sottract $ è impostato per ottenere la differenza dai marchi forniti ai "mid-mark" e ai "Termari finali".

Il precedente comando dell'operatore $ ABS del documento "_id: 1" ha il seguente output:

[
_id: 1, "Mid-Termarks": 300, "Final-Termarks": 450, risultato: 150
"

Esempio 4: utilizzando l'operatore $ ABS all'interno del documento incorporato

Successivamente, abbiamo impostato l'operatore $ ABS per il documento incorporato che funziona come l'esempio precedente. Consideriamo un'altra domanda dell'operatore $ ABS nella seguente dimostrazione:

db.StudentReport.aggregato([
$ match: studente: "Lara",

$ Progetto:

Studente: 1,
StudentFees: $ ABS: $ ADD: [
"$ Studentfees.AmmissionFees "," $ Studentfees.Semestrifees "]
])

Qui, abbiniamo il documento in cui il campo "studente" ha il valore "Lara". Quindi, includiamo il campo "studente" nell'output assegnandolo con un valore di "1" nel progetto $. Il progetto $ è impostato con l'operatore $ ABS sul campo "StudentFees" incorporato. L'operatore $ ABS fornisce l'importo delle commissioni totali aggiungendo i valori dei campi incorporati: "AmmissionFees" e "Semi -Fee".

Le seguenti sono le commissioni totali che otteniamo dall'operatore $ ABS:

[_id: 3, Studente: 'Lara', Studentfees: 120000]

Esempio 5: utilizzando l'operatore $ ABS per i valori NAN

Quando il valore fornito all'operatore $ non è un tipo di dati numerico o un valore indefinito, viene aumentato il valore "NAN". Abbiamo una determinata query di esempio in cui l'operatore $ ABS genera il valore risultante come "NAN":

db.StudentReport.aggregato([
$ match: _id: 3,
$ Progetto:
"_id": 1,
"Mid-Termarks": $ ABS: ["$ Mid-Termarks"],
"Final-Termarks": $ ABS: [1 * "S"]


])

Qui, cerchiamo il documento che contiene il valore "ID" "3". Dopo aver cercato, distribuiamo l'operatore di $ Project in cui viene fornito i "mid-torks" dell'operatore $ ABS per dare il valore assoluto. Quindi, abbiamo impostato l'operatore $ ABS negli "Termark finali" in cui l'operatore $ ABS funziona sul valore numerico di "1" che viene moltiplicato per il valore della stringa di "S".

Il risultato visualizza il valore assoluto per il campo "Mid-Termarks" e il valore NAN per le "finali-torni".

[_id: 3, "Mid-Termarks": 399, "Final-Termarks": nan]

Conclusione

L'articolo riguarda il funzionamento dell'operatore $ ABS a MongoDB. Possiamo determinare il valore assoluto attraverso l'uso dell'operatore $ ABS. L'operatore $ ABS insieme alla sua diversa implementazione è dimostrata in questo articolo. Abbiamo usato l'operatore $ ABS con i campi incorporati del documento. Quindi, abbiamo combinato i diversi operatori aritmetici all'interno dell'operatore $ ABS. Inoltre, l'operatore $ ABS prende i valori degli argomenti NAN che hanno restituito il risultato NAN nell'output.