Operatori

Gli operatori MQL (MongoDB Query Language) consentono potenti filtri, confronto e manipolazione dei dati all'interno delle query. La gestione di questi operatori consente di scrivere query espressive per recuperare e aggiornare in modo efficiente i documenti nelle raccolte.

Accumulators

Glioperatorii vengono usati nelle pipeline di aggregazione per eseguire calcoli sui dati raggruppati.

Description
$avg L'operatore $avg calcola la media dei valori numerici per i documenti in un gruppo, in un bucket o in una finestra.
$bottom L'operatore $bottom restituisce l'ultimo documento dal set di risultati della query ordinato in base a uno o più campi
$bottomN L'operatore $bottomN restituisce gli ultimi N documenti del risultato ordinati in base a uno o più campi
$count L'operatore $count viene usato per contare il numero di documenti che corrispondono a criteri di filtro delle query.
$first L'operatore $first restituisce il primo valore di un gruppo in base all'ordinamento del gruppo.
$firstN L'operatore $firstN ordina i documenti in uno o più campi specificati dalla query e restituisce il primo documento N corrispondente ai criteri di filtro
$last L'operatore $last restituisce l'ultimo documento del risultato ordinato in base a uno o più campi
$lastN L'operatore di accumulo $last restituisce gli ultimi N valori in un gruppo di documenti.
$max L'operatore $max restituisce il valore massimo da un set di valori di input.
$maxN L'opertor $maxN recupera i primi N valori in base a criteri di filtro specificati
$median L'operatore $median calcola il valore mediano di un campo numerico in un gruppo di documenti.
$min L'operatore $min recupera il valore minimo per un campo specificato
$minN L'operatore $minN recupera i valori N inferiori in base a un criterio di filtro specificato
$percentile L'operatore $percentile calcola il percentile di valori numerici che corrispondono a criteri di filtro
$stddevpop L'operatore $stddevpop calcola la deviazione standard dei valori specificati
$stddevsamp L'operatore $stddevsamp calcola la deviazione standard di un campione specificato di valori e non l'intera popolazione
$sum L'operatore $sum calcola la somma dei valori di un campo in base a criteri di filtro
$top L'operatore $top restituisce il primo documento dal set di risultati ordinato in base a uno o più campi
$topN L'operatore $topN restituisce i primi N documenti del risultato ordinati in base a uno o più campi

Aggregation

Gli operatori di aggregazione vengono usati per eseguire operazioni sui dati raggruppati nelle pipeline di aggregazione.

Description
$addFields La fase $addFields nella pipeline di aggregazione viene usata per aggiungere nuovi campi ai documenti.
$bucket L'operatore $bucket raggruppa i documenti di input in bucket in base ai limiti specificati.
$changeStream La fase $changeStream apre un cursore del flusso di modifiche per tenere traccia delle modifiche dei dati in tempo reale.
$collStats La fase $collStats nella pipeline di aggregazione viene usata per restituire statistiche su una raccolta.
$convert L'operatore $convert converte un'espressione nel tipo specificato
$densify L'operatore $densify aggiunge punti dati mancanti in una sequenza di valori all'interno di una matrice o di una raccolta.
$documents La fase $documents crea una pipeline da un set di documenti forniti.
$facet Il $facet consente l'esecuzione di più aggregazioni parallele all'interno di una singola fase della pipeline.
$fill La fase $fill consente di compilare valori mancanti nei documenti in base a metodi e criteri specificati.
$geoNear L'operatore $geoNear trova e ordina i documenti in base alla prossimità a un punto geospaziale, restituendo informazioni sulla distanza per ogni documento.
$group Il $group fase raggruppa i documenti in base alle espressioni di identificatore specificate e applica le espressioni dell'analizzatore.
$indexStats La fase $indexStats restituisce le statistiche di utilizzo per ogni indice della raccolta.
$isNumber L'operatore $isNumber controlla se un'espressione specificata è un tipo numerico
$lookup La fase $lookup in Aggregation Framework viene usata per eseguire left outer join con altre raccolte.
$match La fase $match nella pipeline di aggregazione viene usata per filtrare i documenti che corrispondono a una condizione specificata.
$merge La fase $merge in una pipeline di aggregazione scrive i risultati dell'aggregazione in una raccolta specificata.
$out La $out fase in una pipeline di aggregazione scrive i documenti risultanti in una raccolta specificata.
$redact L'operatore $redact filtra il contenuto dei documenti in base ai diritti di accesso.
$replaceWith L'operatore $replaceWith in DocumentDB restituisce un documento dopo la sostituzione di un documento con il documento specificato
$sample L'operatore $sample in DocumentDB restituisce un numero casuale selezionato di documenti
$set L'operatore $set in DocumentDB aggiorna o crea un nuovo campo con un valore specificato
$skip La fase $skip nella pipeline di aggregazione viene usata per ignorare un numero specificato di documenti dall'input e passare i documenti rimanenti alla fase successiva della pipeline.
$sort La fase $sort nella pipeline di aggregazione viene usata per ordinare i documenti nella pipeline in base a un campo o a campi specificati.
$sortByCount La fase $sortByCount nella pipeline di aggregazione viene usata per raggruppare i documenti in base a un'espressione specificata e quindi per ordinare il numero di documenti in ogni gruppo in ordine decrescente.
$toBool L'operatore $toBool converte un'espressione in un tipo booleano
$toDate L'operatore $toDate converte i tipi supportati in un oggetto Date appropriato.
$toDecimal L'operatore $toDecimal converte un'espressione in un tipo Decimal
$toDouble L'operatore $toDouble converte un'espressione in un valore Double
$toInt L'operatore $toInt converte un'espressione in un valore Integer
$toLong L'operatore $toLong converte un'espressione in un valore Long
$toObjectId L'operatore $toObjectId converte un'espressione in un ObjectId
$toString L'operatore $toString converte un'espressione in un valore String
$unset La fase $unset nella pipeline di aggregazione viene usata per rimuovere i campi specificati dai documenti.
$unwind La fase $unwind nel framework di aggregazione viene usata per decostruire un campo matrice dai documenti di input per restituire un documento per ogni elemento.

Espressione aritmetica

Gli operatori di espressioni aritmetiche eseguono operazioni matematiche sui valori numerici.

Description
$abs L'operatore $abs restituisce il valore assoluto di un numero.
$add L'operatore $add restituisce la somma di due numeri o la somma di una data e di un numero.
$ceil L'operatore $ceil restituisce il più piccolo intero maggiore o uguale al numero specificato.
$divide L'operatore $divide divide due numeri e restituisce il quoziente.
$exp L'operatore $exp eleva 'e' all'esponente specificato e restituisce il risultato
$floor L'operatore $floor restituisce il numero intero più grande minore o uguale al numero specificato
$ln L'operatore $ln calcola il logaritmo naturale dell'input
$log L'operatore $log calcola il logaritmo di un numero nella base specificata
$log10 L'operatore $log 10 calcola il log di un numero specificato in base 10
$multiply L'operatore $multiply moltiplica i valori numerici di input
$pow L'operatore $pow calcola il valore di un valore numerico elevato alla potenza di un esponente specificato.
$round L'operatore $round arrotonda un numero a una posizione decimale specificata.
$sqrt L'operatore $sqrt calcola e restituisce la radice quadrata di un numero di input
$subtract L'operatore $subtract sottrae due numeri e restituisce il risultato.
$trunc L'operatore $trunc tronca un numero in una posizione decimale specificata.
Index

Espressione di matrice

Gli operatori di espressioni di matrice eseguono operazioni su matrici ed elementi di matrice.

Description
$arrayElemAt Il $arrayElemAt restituisce l'elemento in corrispondenza dell'indice di matrice specificato.
$arrayToObject Il $arrayToObject consente la conversione di una matrice in un singolo documento.
$concatArrays Il $concatArrays viene usato per combinare più matrici in una singola matrice.
$filter L'operatore $filter filtra gli elementi di una matrice in base a una condizione specificata.
$indexOfArray L'operatore $indexOfArray viene usato per cercare un elemento in una matrice e restituire l'indice della prima occorrenza dell'elemento.
$isArray L'operatore $isArray viene usato per determinare se un valore specificato è una matrice.
$map L'operatore $map consente di applicare un'espressione a ogni elemento di una matrice.
$range L'operatore $range consente di generare una matrice di interi sequenziali.
$reduce L'operatore $reduce applica un'espressione a ogni elemento di una matrice e accumula il risultato come singolo valore.
$reverseArray L'operatore $reverseArray viene usato per invertire l'ordine degli elementi in una matrice.
$slice L'operatore $slice restituisce un subset di una matrice da qualsiasi elemento in poi nella matrice.
$sortArray L'operatore $sortArray consente di ordinare gli elementi in una matrice.
$zip L'operatore $zip consente di unire due o più matrici a livello di elemento in una singola matrice o matrice.

Query di matrice

Gli operatori di query di matrice vengono usati per eseguire query e filtrare gli elementi della matrice.

Description
$all L'operatore $all consente di trovare documenti di matrice corrispondenti a tutti gli elementi.
$elemMatch L'operatore $elemMatch restituisce una matrice completa, criteri di qualificazione con almeno un elemento di matrice corrispondente.
$size L'operatore $size viene usato per eseguire query sui documenti in cui un campo matrice contiene un numero specificato di elementi.

Aggiornamento matrice

Gli operatori di aggiornamento della matrice vengono usati per modificare gli elementi e la struttura della matrice.

Description
$ L'operatore posizionale $ identifica un elemento in una matrice da aggiornare senza specificare in modo esplicito la posizione dell'elemento nella matrice.
$addToSet L'operatore addToSet aggiunge elementi a una matrice se non esistono già, garantendo al tempo stesso l'univocità degli elementi all'interno del set.
$each L'operatore $each viene usato all'interno di un'operazione $addToSet o $push per aggiungere più elementi a un campo di matrice in una singola operazione di aggiornamento.
$pop L'operatore $pop rimuove il primo o l'ultimo elemento di una matrice.
$position Il $position viene usato per specificare la posizione nella matrice in cui deve essere inserito un nuovo elemento.
$[] L'operatore $[] viene usato per aggiornare tutti gli elementi di una matrice che corrispondono alla condizione di query.
$[identifier] L'operatore $[identifier] viene usato per aggiornare tutti gli elementi usando un identificatore specifico in una matrice che corrisponde alla condizione di query.
$pull Rimuove tutte le istanze di un valore da una matrice.
$pullAll L'operatore $pullAll viene usato per rimuovere tutte le istanze dei valori specificati da una matrice.
$push L'operatore $push aggiunge un valore specificato a una matrice all'interno di un documento.

Bitwise

Gli operatori bit per bit eseguono operazioni sulla rappresentazione binaria dei numeri.

Description
$bitAnd L'operatore $bitAnd esegue un'operazione AND bit per bit sui valori integer e restituisce il risultato come integer.
$bitNot L'operatore $bitNot esegue un'operazione NOT bit per bit sui valori integer e restituisce il risultato come integer.
$bitOr L'operatore $bitOr esegue un'operazione OR bit per bit sui valori integer e restituisce il risultato come intero.
$bitXor L'operatore $bitXor esegue un'operazione XOR bit per bit sui valori integer.

Query bit per bit

Gli operatori di query bit per bit vengono usati per eseguire query e filtrare in base alle operazioni bit per bit.

Description
$bitsAllClear L'operatore $bitsAllClear viene usato per trovare le corrispondenze con i documenti in cui tutte le posizioni di bit specificate in una maschera di bit sono chiare.
$bitsAllSet Il comando bitsAllSet viene usato per trovare le corrispondenze con i documenti in cui vengono impostate tutte le posizioni di bit specificate.
$bitsAnyClear L'operatore $bitsAnyClear corrisponde ai documenti in cui una delle posizioni di bit specificate in una maschera di bit è chiara.
$bitsAnySet L'operatore $bitsAnySet restituisce documenti in cui una delle posizioni di bit specificate è impostata su 1.

Aggiornamento bit per bit

Gli operatori di aggiornamento bit per bit vengono usati per modificare i valori usando operazioni bit per bit.

Description
$bit L'operatore $bit viene usato per eseguire operazioni bit per bit su valori integer.

Query di confronto

Gli operatori di query di confronto vengono usati per confrontare i valori e creare espressioni booleane.

Description
$cmp L'operatore $cmp confronta due valori
$eq L'operatore di query $eq confronta il valore di un campo con un valore specificato
$gt L'operatore di query $gt recupera i documenti in cui il valore di un campo è maggiore di un valore specificato
$gte L'operatore $gte recupera i documenti in cui il valore di un campo è maggiore o uguale a un valore specificato
$in L'operatore $in corrisponde al valore di un campo rispetto a una matrice di valori specificati
$lt L'operatore $lt recupera i documenti in cui il valore del campo è minore di un valore specificato
$lte L'operatore $lte recupera i documenti in cui il valore di un campo è minore o uguale a un valore specificato
$ne L'operatore $ne recupera i documenti in cui il valore di un campo non è uguale a un valore specificato
$nin L'operatore $nin recupera i documenti in cui il valore di un campo non corrisponde a un elenco di valori

Espressione condizionale

Gli operatori di espressione condizionale forniscono il flusso di controllo e la logica condizionale nelle espressioni.

Description
$cond L'operatore $cond viene usato per valutare una condizione e restituire una delle due espressioni in base al risultato.
$ifNull L'operatore $ifNull viene usato per valutare un'espressione e restituire un valore specificato se l'espressione viene risolta in null.
$switch L'operatore $switch viene usato per valutare una serie di condizioni e restituire un valore in base alla prima condizione che restituisce true.

Dimensioni dati

Gli operatori di dimensioni dei dati vengono usati per determinare le dimensioni delle strutture e dei valori dei dati.

Description
$binarySize L'operatore $binarySize viene usato per restituire le dimensioni di un campo dati binario.
$bsonSize L'operatore $bsonSize restituisce le dimensioni di un documento in byte quando viene codificato come BSON.

Espressione data

Gli operatori di espressioni di data eseguono operazioni sui valori di data e ora.

Description
$dateAdd L'operatore $dateAdd aggiunge un numero specificato di unità di tempo (giorno, ora, mese e così via) a una data.
$dateDiff L'operatore $dateDiff calcola la differenza tra due date in diverse unità, ad esempio anni, mesi, giorni e così via.
$dateFromParts L'operatore $dateFromParts costruisce una data dai singoli componenti.
$dateFromString L'operatore $dateDiff converte una stringa di data/ora in un oggetto date.
$dateSubtract L'operatore $dateSubtract sottrae un periodo di tempo specificato da una data.
$dateToParts L'operatore $dateToParts scompone una data nelle singole parti, ad esempio anno, mese, giorno e altro ancora.
$dateToString L'operatore $dateToString converte un oggetto date in una stringa formattata.
$dateTrunc L'operatore $dateTrunc tronca una data a un'unità specificata.
$dayOfMonth L'operatore $dayOfMonth estrae il giorno del mese da una data.
$dayOfWeek L'operatore $dayOfWeek estrae il giorno della settimana da una data.
$dayOfYear L'operatore $dayOfYear estrae il giorno dell'anno da una data.
$hour L'operatore $hour restituisce la parte oraria di una data come numero compreso tra 0 e 23.
$isoDayOfWeek L'operatore $isoDayOfWeek restituisce il numero della settimana in formato ISO 8601, compreso tra 1 (lunedì) e 7 (domenica).
$isoWeek L'operatore $isoWeek restituisce il numero della settimana dell'anno in formato ISO 8601, compreso tra 1 e 53.
$isoWeekYear L'operatore $isoWeekYear restituisce il numero di anno in formato ISO 8601, che può differire dall'anno di calendario per le date all'inizio o alla fine dell'anno.
$millisecond L'operatore $millisecond estrae la parte in millisecondi da un valore di data.
$minute L'operatore $minute estrae la parte del minuto da un valore di data.
$month L'operatore $month estrae la parte del mese da un valore di data.
$second L'operatore $second estrae la parte dei secondi da un valore di data.
$week L'operatore $week restituisce il numero della settimana per una data come valore compreso tra 0 e 53.
$year L'operatore $year restituisce l'anno per una data come numero a quattro cifre.

Query elemento

Gli operatori di query degli elementi vengono usati per eseguire query sugli elementi del documento in base alla loro esistenza e al tipo.

Description
$exists L'operatore $exists recupera i documenti che contengono il campo specificato nella struttura del documento.
$type L'operatore $type recupera i documenti se il campo scelto è del tipo specificato.

Query di valutazione

Gli operatori di query di valutazione vengono usati per valutare le espressioni ed eseguire operazioni dinamiche.

Description
$expr L'operatore $expr consente di usare espressioni di aggregazione all'interno del linguaggio di query per calcoli e confronti e calcoli complessi tra i campi.
$jsonSchema L'operatore $jsonSchema convalida i documenti rispetto a una definizione di schema JSON per la convalida dei dati e l'imposizione della struttura. Individuare le funzionalità e le limitazioni supportate.
$mod L'operatore $mod esegue un'operazione modulo sul valore di un campo e seleziona i documenti con un risultato specificato.
$regex L'operatore $regex offre funzionalità di espressione regolare per i criteri di ricerca nelle query, che consentono la ricerca e la corrispondenza flessibile di stringhe.
$text L'operatore $text esegue la ricerca di testo nel contenuto dei campi stringa indicizzati, abilitando le funzionalità di ricerca full-text.

Aggiornamento dei campi

Gli operatori di aggiornamento dei campi vengono usati per modificare campi specifici nei documenti durante le operazioni di aggiornamento.

Description
$currentDate L'operatore $currentDate imposta il valore di un campo sulla data corrente, come data o timestamp.
$inc L'operatore $inc incrementa il valore di un campo in base a un importo specificato.
$mul L'operatore $mul moltiplica il valore di un campo in base a un numero specificato.
$rename L'operatore $rename consente di rinominare i campi nei documenti durante le operazioni di aggiornamento.
$setOnInsert L'operatore $setOnInsert imposta i valori di campo solo quando un'operazione upsert genera un inserimento di un nuovo documento.

Geospatial

Gli operatori geospaziali eseguono operazioni su dati geografici e relazioni spaziali.

Description
$box L'operatore $box definisce un'area rettangolare per le query geospaziali usando coppie di coordinate.
$center L'operatore $center specifica un cerchio usando coppie di coordinate legacy per le query $geoWithin.
$centerSphere L'operatore $centerSphere specifica un cerchio usando la geometria sferica per le query $geoWithin.
$geoIntersects L'operatore $geoIntersects seleziona i documenti il cui campo di posizione si interseca con un oggetto GeoJSON specificato.
$geometry L'operatore $geometry specifica una geometria GeoJSON per le query geospaziali.
$geoWithin L'operatore $geoWithin seleziona i documenti il cui campo di posizione si trova completamente all'interno di una geometria specificata.
$maxDistance L'operatore $maxDistance specifica la distanza massima che può esistere tra due punti in una query geospaziale.
$minDistance L'operatore $minDistance specifica la distanza minima che deve esistere tra due punti in una query geospaziale.
$near L'operatore $near restituisce i documenti con campi di posizione vicini a un punto specificato, ordinati per distanza.
$nearSphere L'operatore $nearSphere restituisce documenti i cui campi di posizione si trovano vicino a un punto specificato su una sfera, ordinati in base alla distanza su una superficie sferica.
$polygon L'operatore $polygon definisce un poligono per le query geospaziali, consentendo di trovare posizioni all'interno di una forma irregolare.

Espressione letterale

Gli operatori di espressione letterale vengono usati per rappresentare i valori letterali nelle espressioni di aggregazione.

Description
$literal L'operatore $literal restituisce il valore specificato senza analizzarlo come espressione, consentendo l'uso di valori letterali nelle pipeline di aggregazione.

Query logica

Gli operatori di query logici combinano espressioni booleane usando operazioni logiche.

Description
$and L'operatore $and unisce più clausole di query e restituisce documenti che corrispondono a tutte le condizioni specificate.
$nor L'operatore $nor esegue un nor logico su una matrice di espressioni e recupera i documenti che non soddisfano tutte le condizioni.
$not L'operatore $not esegue un'operazione NOT logica su un'espressione specificata, selezionando documenti che non corrispondono all'espressione.
$or L'operatore $or unisce le clausole di query con un OR logico e restituisce documenti che corrispondono almeno a una delle condizioni specificate.

Miscellaneous

Gli operatori vari includono vari operatori di utilità e helper che non rientrano in altre categorie.

Description
$getField L'operatore $getField consente di recuperare il valore di un campo specificato da un documento.
$sampleRate L'operatore $sampleRate campiona in modo casuale i documenti di una raccolta in base a una percentuale di probabilità specificata, utile per l'analisi statistica e il test.

Query varie

Gli operatori di query vari includono vari operatori di utilità e helper per l'esecuzione di query che non rientrano in altre categorie.

Description
$comment L'operatore $comment aggiunge un commento a una query per identificare la query nei log e nell'output del profiler.
$natural L'operatore $natural forza la query a usare l'ordine naturale dei documenti in una raccolta, fornendo il controllo sull'ordinamento e il recupero dei documenti.
$rand L'operatore $rand genera un valore float casuale compreso tra 0 e 1.

Espressione oggetto

Gli operatori di espressione oggetto eseguono operazioni su oggetti e proprietà dell'oggetto.

Description
$mergeObjects L'operatore $mergeObjects unisce più documenti in un singolo documento
$objectToArray Il comando objectToArray viene usato per trasformare un documento (oggetto) in una matrice di coppie chiave-valore.
$setField Il comando setField viene usato per aggiungere, aggiornare o rimuovere campi nei documenti incorporati.

Projection

Gli operatori di proiezione vengono usati per selezionare e trasformare i campi nei documenti.

Description
$meta L'operatore $meta restituisce una colonna di metadati calcolata con set di dati restituito.

Imposta espressione

Impostare gli operatori di espressione che eseguono operazioni su set e matrici trattati come set.

Description
$allElementsTrue L'operatore $allElementsTrue restituisce true se tutti gli elementi di una matrice restituiscono true.
$anyElementTrue L'operatore $anyElementTrue restituisce true se un elemento di una matrice restituisce un valore true.
$setDifference L'operatore $setDifference restituisce un set con elementi presenti in un set ma non in un secondo set.
$setEquals L'operatore $setEquals restituisce true se due set hanno gli stessi elementi distinti.
$setIntersection L'operatore $setIntersection restituisce gli elementi comuni visualizzati in tutte le matrici di input.
$setIsSubset L'operatore $setIsSubset determina se una matrice è un subset di una seconda matrice.
$setUnion L'operatore $setUnion restituisce una matrice che contiene tutti gli elementi univoci delle matrici di input.

Espressione timestamp

Gli operatori di espressione Timestamp eseguono operazioni sui valori timestamp.

Description
$tsIncrement L'operatore $tsIncrement estrae la parte di incremento da un valore timestamp.
$tsSecond L'operatore $tsSecond estrae la parte dei secondi da un valore di timestamp.

Espressione variabile

Gli operatori di espressione variabile vengono usati per definire e fare riferimento a variabili nelle espressioni.

Description
$let L'operatore $let consente di definire le variabili da usare in un'espressione specificata, abilitando calcoli complessi e riducendo la ripetizione del codice.

Operatori di finestra

Gli operatori window eseguono calcoli in un set di documenti in una finestra specificata.

Description
$covariancePop L'operatore $covariancePop restituisce la covarianza di due espressioni numeriche
$covarianceSamp L'operatore $covarianceSamp restituisce la covarianza di un campione di due espressioni numeriche
$denseRank L'operatore $denseRank assegna e restituisce una classificazione posizionale per ogni documento all'interno di una partizione in base a un ordine di ordinamento specificato
$derivative L'operatore $derivative calcola la frequenza media di modifica del valore di un campo all'interno di una finestra specificata.
$documentNumber L'operatore $documentNumber assegna e restituisce una posizione per ogni documento all'interno di una partizione in base a un ordine di ordinamento specificato
$expMovingAvg L'operatore $expMovingAvg calcola la media mobile di un campo basandosi sul numero specificato di documenti a cui assegnare il peso maggiore.
$integral L'operatore $integral calcola l'area sotto una curva con l'intervallo specificato di documenti che formano i documenti adiacenti per il calcolo.
$linearFill L'operatore $linearFill interpola i valori mancanti in una sequenza di documenti usando l'interpolazione lineare.
$locf L'operatore $locf propaga l'ultimo valore non Null osservato in avanti all'interno di una partizione in una query con finestra.
$rank L'operatore $rank classifica i documenti all'interno di una partizione in base a un ordinamento specificato.
$shift usage on DocumentDB Operatore window che sposta i valori all'interno di una partizione e restituisce il valore spostato.