Operatörer

MQL-operatorer (MongoDB Query Language) möjliggör kraftfull filtrering, jämförelse och datamanipulering i frågor. Genom att hantera dessa operatorer kan du skriva uttrycksfrågor för att effektivt hämta och uppdatera dokument i dina samlingar.

Accumulators

Ackumulatoroperatorer används i aggregeringspipelines för att utföra beräkningar på grupperade data.

Description
$avg Operatorn $avg beräknar medelvärdet av numeriska värden för dokument i en grupp, bucket eller ett fönster.
$bottom Operatorn $bottom returnerar det sista dokumentet från frågans resultatuppsättning sorterad efter ett eller flera fält
$bottomN Operatorn $bottomN returnerar de sista N-dokumenten från resultatet sorterat efter ett eller flera fält
$count Operatorn $count används för att räkna antalet dokument som matchar ett frågefiltreringsvillkor.
$first Operatorn $first returnerar det första värdet i en grupp enligt gruppens sorteringsordning.
$firstN $firstN-operatorn sorterar dokument på ett eller flera fält som anges av frågan och returnerar det första N-dokumentet som matchar filtreringsvillkoren
$last Operatorn $last returnerar det sista dokumentet från resultatet sorterat efter ett eller flera fält
$lastN Operatorn $lastN ackumulator returnerar de sista N-värdena i en grupp med dokument.
$max Operatorn $max returnerar det maximala värdet från en uppsättning indatavärden.
$maxN $maxN opertor hämtar de översta N-värdena baserat på ett angivet filtreringsvillkor
$median Operatorn $median beräknar medianvärdet för ett numeriskt fält i en grupp med dokument.
$min Operatorn $min hämtar minimivärdet för ett angivet fält
$minN Operatorn $minN hämtar de nedre N-värdena baserat på ett angivet filtreringsvillkor
$percentile Operatorn $percentile beräknar percentilen av numeriska värden som matchar ett filtreringsvillkor
$stddevpop Operatorn $stddevpop beräknar standardavvikelsen för de angivna värdena
$stddevsamp Operatorn $stddevsamp beräknar standardavvikelsen för ett angivet urval av värden och inte hela populationen
$sum Operatorn $sum beräknar summan av värdena för ett fält baserat på ett filtreringsvillkor
$top Operatorn $top returnerar det första dokumentet från resultatuppsättningen sorterat efter ett eller flera fält
$topN Operatorn $topN returnerar de första N-dokumenten från resultatet sorterat efter ett eller flera fält

Aggregation

Aggregeringsoperatorer används för att utföra åtgärder på grupperade data i aggregeringspipelines.

Description
$addFields Den $addFields fasen i aggregeringspipelinen används för att lägga till nya fält i dokument.
$bucket Operatorn $bucket grupperar in dokument i bucketar baserat på angivna gränser.
$changeStream Fasen $changeStream öppnar en markör för ändringsström för att spåra dataändringar i realtid.
$collStats Den $collStats fasen i aggregeringspipelinen används för att returnera statistik om en samling.
$convert Operatorn $convert konverterar ett uttryck till den angivna typen
$densify Operatorn $densify lägger till saknade datapunkter i en sekvens med värden i en matris eller samling.
$documents Den $documents fasen skapar en pipeline från en uppsättning angivna dokument.
$facet Med $facet kan flera parallella aggregeringar köras inom en enda pipelinefas.
$fill I $fill-fasen kan saknade värden fyllas i i dokument baserat på angivna metoder och kriterier.
$geoNear Operatorn $geoNear hittar och sorterar dokument efter deras närhet till en geospatial punkt och returnerar avståndsinformation för varje dokument.
$group $group mellanlagrar dokument efter angivna identifieraruttryck och tillämpar ackumulatoruttryck.
$indexStats $indexStats-fasen returnerar användningsstatistik för varje index i samlingen.
$isNumber Operatorn $isNumber kontrollerar om ett angivet uttryck är en numerisk typ
$lookup Den $lookup fasen i Aggregation Framework används för att utföra yttre vänsterkopplingar med andra samlingar.
$match Den $match fasen i aggregeringspipelinen används för att filtrera dokument som matchar ett angivet villkor.
$merge Den $merge fasen i en aggregeringspipeline skriver resultatet av aggregeringen till en angiven samling.
$out $out Fasen i en aggregeringspipeline skriver de resulterande dokumenten till en angiven samling.
$redact Operatorn $redact filtrerar innehållet i dokumenten baserat på åtkomsträttigheter.
$replaceWith Operatorn $replaceWith i DocumentDB returnerar ett dokument efter att ha ersatt ett dokument med det angivna dokumentet
$sample Operatorn $sample i DocumentDB returnerar ett slumpmässigt valt antal dokument
$set Operatorn $set i DocumentDB uppdaterar eller skapar ett nytt fält med ett angivet värde
$skip Den $skip fasen i aggregeringspipelinen används för att hoppa över ett angivet antal dokument från indata och skicka de återstående dokumenten till nästa steg i pipelinen.
$sort Den $sort fasen i aggregeringspipelinen används för att beställa dokumenten i pipelinen efter ett angivet fält.
$sortByCount Den $sortByCount fasen i sammansättningspipelinen används för att gruppera dokument efter ett angivet uttryck och sedan sortera antalet dokument i varje grupp i fallande ordning.
$toBool Operatorn $toBool konverterar ett uttryck till en boolesk typ
$toDate Operatorn $toDate konverterar typer som stöds till ett korrekt Datum-objekt.
$toDecimal Operatorn $toDecimal konverterar ett uttryck till en decimaltyp
$toDouble Operatorn $toDouble konverterar ett uttryck till ett Double-värde
$toInt Operatorn $toInt konverterar ett uttryck till ett heltal
$toLong Operatorn $toLong konverterar ett uttryck till ett långt värde
$toObjectId Operatorn $toObjectId konverterar ett uttryck till ett ObjectId
$toString Operatorn $toString konverterar ett uttryck till en sträng
$unset Den $unset fasen i aggregeringspipelinen används för att ta bort angivna fält från dokument.
$unwind Den $unwind fasen i aggregeringsramverket används för att dekonstruera ett matrisfält från indatadokumenten för att mata ut ett dokument för varje element.

Aritmetikuttryck

Operatorer för aritmetiska uttryck utför matematiska åtgärder på numeriska värden.

Description
$abs Operatorn $abs returnerar det absoluta värdet för ett tal.
$add Operatorn $add returnerar summan av två tal eller summan av ett datum och tal.
$ceil Operatorn $ceil returnerar det minsta heltal som är större än eller lika med det angivna talet.
$divide Operatorn $divide delar upp två tal och returnerar kvoten.
$exp Operatorn $exp upphöjer e till potensen av den angivna exponenten och returnerar resultatet.
$floor Operatorn $floor returnerar det största heltalet mindre än eller lika med det angivna talet
$ln Operatorn $ln beräknar den naturliga logaritmen för indata
$log Operatorn $log beräknar logaritmen för ett tal i den angivna basen
$log10 Operatorn $log 10 beräknar loggen för ett angivet tal i bas 10
$multiply Operatorn $multiply multiplicerar de numeriska indatavärdena
$pow Operatorn $pow beräknar värdet för ett numeriskt värde som höjs till kraften hos en angiven exponent.
$round Operatorn $round avrundar ett tal till en angiven decimal.
$sqrt Operatorn $sqrt beräknar och returnerar kvadratroten för ett indatanummer
$subtract Operatorn $subtract subtraherar två tal och returnerar resultatet.
$trunc Operatorn $trunc trunkerar ett tal till en angiven decimal.
Index

Matrisuttryck

Operatorer för matrisuttryck utför åtgärder på matriser och matriselement.

Description
$arrayElemAt $arrayElemAt returnerar elementet vid det angivna matrisindexet.
$arrayToObject Med $arrayToObject kan du konvertera en matris till ett enda dokument.
$concatArrays Den $concatArrays används för att kombinera flera matriser till en enda matris.
$filter Operatorn $filter filtrerar element från en matris baserat på ett angivet villkor.
$indexOfArray Operatorn $indexOfArray används för att söka efter ett element i en matris och returnera indexet för den första förekomsten av elementet.
$isArray Operatorn $isArray används för att avgöra om ett angivet värde är en matris.
$map Med operatorn $map kan du använda ett uttryck för varje element i en matris.
$range Med operatorn $range kan du generera en matris med sekventiella heltal.
$reduce Operatorn $reduce använder ett uttryck för varje element i en matris och ackumulerar resultatet som ett enda värde.
$reverseArray Operatorn $reverseArray används för att ändra ordningen på element i en matris.
$slice Operatorn $slice returnerar en delmängd av en matris från alla element och framåt i matrisen.
$sortArray Operatorn $sortArray hjälper till att sortera elementen i en matris.
$zip Operatorn $zip tillåter sammanslagning av två eller flera matriser elementmässigt till en enda matris eller matriser.

Matrisfråga

Matrisfrågeoperatorer används för att fråga efter och filtrera matriselement.

Description
$all Operatorn $all hjälper till att hitta matrisdokument som matchar alla element.
$elemMatch Operatorn $elemMatch returnerar fullständig matris, kvalificerande villkor med minst ett matchande matriselement.
$size Operatorn $size används för att fråga dokument där ett matrisfält har ett angivet antal element.

Matrisuppdatering

Matrisuppdateringsoperatorer används för att ändra matriselement och -struktur.

Description
$ Positionsoperatorn $ identifierar ett element i en matris som ska uppdateras utan att uttryckligen ange positionen för elementet i matrisen.
$addToSet Operatorn addToSet lägger till element i en matris om de inte redan finns, samtidigt som unika element i uppsättningen säkerställs.
$each Operatorn $each används inom en $addToSet eller-åtgärd $push för att lägga till flera element i ett matrisfält i en enda uppdateringsåtgärd.
$pop Operatorn $pop tar bort det första eller sista elementet i en matris.
$position Den $position används för att ange positionen i matrisen där ett nytt element ska infogas.
$[] Operatorn $[] används för att uppdatera alla element i en matris som matchar frågevillkoret.
$[identifier] Operatorn $[identifier] används för att uppdatera alla element med hjälp av en specifik identifierare i en matris som matchar frågevillkoret.
$pull Tar bort alla instanser av ett värde från en matris.
$pullAll Operatorn $pullAll används för att ta bort alla instanser av de angivna värdena från en matris.
$push Operatorn $push lägger till ett angivet värde i en matris i ett dokument.

Bitwise

Bitvis-operatorer utför åtgärder för binär representation av tal.

Description
$bitAnd Operatorn $bitAnd utför en bitvis AND-åtgärd på heltalsvärden och returnerar resultatet som ett heltal.
$bitNot Operatorn $bitNot utför en bitvis NOT-åtgärd på heltalsvärden och returnerar resultatet som ett heltal.
$bitOr Operatorn $bitOr utför en bitvis ELLER-åtgärd på heltalsvärden och returnerar resultatet som ett heltal.
$bitXor Operatorn $bitXor utför en bitvis XOR-åtgärd på heltalsvärden.

Bitvis fråga

Bitvis frågeoperatorer används för att fråga och filtrera baserat på bitvis åtgärder.

Description
$bitsAllClear Operatorn $bitsAllClear används för att matcha dokument där alla bitpositioner som anges i en bitmask är tydliga.
$bitsAllSet Kommandot bitsAllSet används för att matcha dokument där alla angivna bitpositioner anges.
$bitsAnyClear Operatorn $bitsAnyClear matchar dokument där någon av de angivna bitpositionerna i en bitmask är tydliga.
$bitsAnySet Operatorn $bitsAnySet returnerar dokument där någon av de angivna bitpositionerna är inställda på 1.

Bitvis uppdatering

Bitvis uppdateringsoperatorer används för att ändra värden med bitvis åtgärder.

Description
$bit Operatorn $bit används för att utföra bitvis åtgärder på heltalsvärden.

Jämförelsefråga

Jämförelsefrågeoperatorer används för att jämföra värden och skapa booleska uttryck.

Description
$cmp Operatorn $cmp jämför två värden
$eq Frågeoperatorn $eq jämför värdet för ett fält med ett angivet värde
$gt Frågeoperatorn $gt hämtar dokument där värdet för ett fält är större än ett angivet värde
$gte Operatorn $gte hämtar dokument där värdet för ett fält är större än eller lika med ett angivet värde
$in Operatorn $in matchar värdet för ett fält mot en matris med angivna värden
$lt Operatorn $lt hämtar dokument där värdet för fältet är mindre än ett angivet värde
$lte Operatorn $lte hämtar dokument där värdet för ett fält är mindre än eller lika med ett angivet värde
$ne Operatorn $ne hämtar dokument där värdet för ett fält inte är lika med ett angivet värde
$nin Operatorn $nin hämtar dokument där värdet för ett fält inte matchar en lista med värden

Villkorsuttryck

Operatorer för villkorsuttryck tillhandahåller kontrollflöde och villkorsstyrd logik i uttryck.

Description
$cond Operatorn $cond används för att utvärdera ett villkor och returnera ett av två uttryck baserat på resultatet.
$ifNull Operatorn $ifNull används för att utvärdera ett uttryck och returnera ett angivet värde om uttrycket matchas till null.
$switch Operatorn $switch används för att utvärdera en serie villkor och returnera ett värde baserat på det första villkoret som utvärderas till sant.

Datastorlek

Datastorleksoperatorer används för att fastställa storleken på datastrukturer och värden.

Description
$binarySize Operatorn $binarySize används för att returnera storleken på ett binärt datafält.
$bsonSize Operatorn $bsonSize returnerar storleken på ett dokument i byte när den kodas som BSON.

Datumuttryck

Datumuttrycksoperatorer utför åtgärder på datum- och tidsvärden.

Description
$dateAdd Operatorn $dateAdd lägger till ett angivet antal tidsenheter (dag, timme, månad osv.) till ett datum.
$dateDiff Operatorn $dateDiff beräknar skillnaden mellan två datum i olika enheter, till exempel år, månader, dagar osv.
$dateFromParts Operatorn $dateFromParts konstruerar ett datum från enskilda komponenter.
$dateFromString Operatorn $dateDiff konverterar en datum-/tidssträng till ett datumobjekt.
$dateSubtract Operatorn $dateSubtract subtraherar en angiven tidsperiod från ett datum.
$dateToParts $dateToParts-operatorn delar upp ett datum i sina enskilda delar, till exempel år, månad, dag med mera.
$dateToString Operatorn $dateToString konverterar ett datumobjekt till en formaterad sträng.
$dateTrunc Operatorn $dateTrunc trunkerar ett datum till en angiven enhet.
$dayOfMonth Operatorn $dayOfMonth extraherar dagen i månaden från ett datum.
$dayOfWeek Operatorn $dayOfWeek extraherar veckodagen från ett datum.
$dayOfYear Operatorn $dayOfYear extraherar dagen på året från ett datum.
$hour Operatorn $hour returnerar timdelen av ett datum som ett tal mellan 0 och 23.
$isoDayOfWeek Operatorn $isoDayOfWeek returnerar veckodagsnumret i ISO 8601-format, från 1 (måndag) till 7 (söndag).
$isoWeek Operatorn $isoWeek returnerar årets veckonummer i ISO 8601-format, från 1 till 53.
$isoWeekYear Operatorn $isoWeekYear returnerar årsnumret i ISO 8601-format, vilket kan skilja sig från kalenderåret för datum i början eller slutet av året.
$millisecond Operatorn $millisecond extraherar millisekundersdelen från ett datumvärde.
$minute Operatorn $minute extraherar minutdelen från ett datumvärde.
$month Operatorn $month extraherar månadsdelen från ett datumvärde.
$second Operatorn $second extraherar sekunddelen från ett datumvärde.
$week Operatorn $week returnerar veckonumret för ett datum som ett värde mellan 0 och 53.
$year Operatorn $year returnerar året för ett datum som ett fyrsiffrigt tal.

Elementfråga

Elementfrågeoperatorer används för att fråga dokumentelement baserat på deras existens och typ.

Description
$exists Operatorn $exists hämtar dokument som innehåller det angivna fältet i dokumentstrukturen.
$type Operatorn $type hämtar dokument om det valda fältet är av den angivna typen.

Utvärderingsfråga

Frågeoperatorer för utvärdering används för att utvärdera uttryck och utföra dynamiska åtgärder.

Description
$expr Operatorn $expr tillåter användning av aggregeringsuttryck inom frågespråket, vilket möjliggör komplexa fältjämförelser och beräkningar.
$jsonSchema Operatorn $jsonSchema verifierar dokument mot en JSON-schemadefinition för dataverifiering och strukturframtvingande. Identifiera funktioner och begränsningar som stöds.
$mod Operatorn $mod utför en moduloåtgärd på värdet för ett fält och väljer dokument med ett angivet resultat.
$regex Operatorn $regex tillhandahåller reguljära uttrycksfunktioner för mönstermatchning i frågor, vilket möjliggör flexibel strängmatchning och sökning.
$text Operatorn $text utför textsökning på innehållet i indexerade strängfält, vilket aktiverar funktioner för fulltextsökning.

Fältuppdatering

Fältuppdateringsoperatorer används för att ändra specifika fält i dokument under uppdateringsåtgärder.

Description
$currentDate Operatorn $currentDate anger värdet för ett fält till aktuellt datum, antingen som datum eller tidsstämpel.
$inc Operatorn $inc ökar värdet för ett fält med en angiven mängd.
$mul Operatorn $mul multiplicerar värdet för ett fält med ett angivet tal.
$rename Operatorn $rename tillåter namnbyte av fält i dokument under uppdateringsåtgärder.
$setOnInsert Operatorn $setOnInsert anger endast fältvärden när en upsert-åtgärd resulterar i en infogning av ett nytt dokument.

Geospatiell

Geospatiala operatorer utför åtgärder på geografiska data och rumsliga relationer.

Description
$box Operatorn $box definierar ett rektangulärt område för geospatiala frågor med koordinatpar.
$center Operatorn $center anger en cirkel med äldre koordinatpar för $geoWithin frågor.
$centerSphere Operatorn $centerSphere anger en cirkel med sfärisk geometri för $geoWithin frågor.
$geoIntersects Operatorn $geoIntersects väljer dokument vars platsfält korsar ett angivet GeoJSON-objekt.
$geometry Operatorn $geometry anger en GeoJSON-geometri för geospatiala frågor.
$geoWithin Operatorn $geoWithin väljer dokument vars platsfält ligger helt inom en angiven geometri.
$maxDistance Operatorn $maxDistance anger det maximala avståndet som kan finnas mellan två punkter i en geospatial fråga.
$minDistance Operatorn $minDistance anger det minsta avstånd som måste finnas mellan två punkter i en geospatial fråga.
$near Operatorn $near returnerar dokument med platsfält som ligger nära en angiven punkt, sorterade efter avstånd.
$nearSphere Operatorn $nearSphere returnerar dokument vars platsfält ligger nära en angiven punkt på en sfär, sorterade efter avstånd på en sfärisk yta.
$polygon Operatorn $polygon definierar en polygon för geospatiala frågor, så att du kan hitta platser i en oregelbunden form.

Literaluttryck

Operatorer för literaluttryck används för att representera literalvärden i aggregeringsuttryck.

Description
$literal Operatorn $literal returnerar det angivna värdet utan att parsa det som ett uttryck, vilket gör att literalvärden kan användas i aggregeringspipelines.

Logisk fråga

Logiska frågeoperatorer kombinerar booleska uttryck med logiska åtgärder.

Description
$and Operatorn $and ansluter till flera frågesatser och returnerar dokument som matchar alla angivna villkor.
$nor Operatorn $nor utför ett logiskt NOR på en matris med uttryck och hämtar dokument som inte uppfyller alla villkor.
$not Operatorn $not utför en logisk NOT-åtgärd för ett angivet uttryck och väljer dokument som inte matchar uttrycket.
$or $or-operatorn ansluter frågesatser med en logisk OR och returnerar dokument som matchar minst ett av de angivna villkoren.

Miscellaneous

Diverse operatorer innehåller olika verktygs- och hjälpoperatorer som inte passar in i andra kategorier.

Description
$getField Med operatorn $getField kan du hämta värdet för ett angivet fält från ett dokument.
$sampleRate Den $sampleRate operatorn tar slumpmässiga exempel på dokument från en samling baserat på en angiven sannolikhetsgrad, som är användbar för statistisk analys och testning.

Diverse fråga

Diverse frågeoperatorer innehåller olika verktygs- och hjälpoperatorer för frågor som inte passar in i andra kategorier.

Description
$comment Operatorn $comment lägger till en kommentar i en fråga för att identifiera frågan i loggar och profileringsutdata.
$natural Operatorn $natural tvingar frågan att använda den naturliga ordningen för dokument i en samling, vilket ger kontroll över dokumentordning och hämtning.
$rand Operatorn $rand genererar ett slumpmässigt flyttalvärde mellan 0 och 1.

Objektuttryck

Objektuttrycksoperatorer utför åtgärder på objekt och objektegenskaper.

Description
$mergeObjects Operatorn $mergeObjects sammanfogar flera dokument till ett enda dokument
$objectToArray Kommandot objectToArray används för att omvandla ett dokument (objekt) till en matris med nyckel/värde-par.
$setField Kommandot setField används för att lägga till, uppdatera eller ta bort fält i inbäddade dokument.

Projection

Projektionsoperatorer används för att välja och transformera fält i dokument.

Description
$meta Operatorn $meta returnerar en beräknad metadatakolumn med returnerad datauppsättning.

Ange uttryck

Ange uttrycksoperatorer utför åtgärder på uppsättningar och matriser som behandlas som uppsättningar.

Description
$allElementsTrue Operatorn $allElementsTrue returnerar sant om alla element i en matris utvärderas till true.
$anyElementTrue Operatorn $anyElementTrue returnerar true om något element i en matris utvärderas till värdet true.
$setDifference Operatorn $setDifference returnerar en uppsättning med element som finns i en uppsättning men inte i en andra uppsättning.
$setEquals Operatorn $setEquals returnerar true om två uppsättningar har samma distinkta element.
$setIntersection Operatorn $setIntersection returnerar de gemensamma element som visas i alla indatamatriser.
$setIsSubset Operatorn $setIsSubset avgör om en matris är en delmängd av en andra matris.
$setUnion Operatorn $setUnion returnerar en matris som innehåller alla unika element från indatamatriserna.

Tidsstämpeluttryck

Tidsstämpeluttrycksoperatorer utför åtgärder på tidsstämpelvärden.

Description
$tsIncrement Operatorn $tsIncrement extraherar inkrementsdelen från ett tidsstämpelvärde.
$tsSecond Operatorn $tsSecond extraherar sekunddelen från ett tidsstämpelvärde.

Variabeluttryck

Operatorer för variabeluttryck används för att definiera och referera till variabler i uttryck.

Description
$let Med operatorn $let kan du definiera variabler för användning i ett angivet uttryck, aktivera komplexa beräkningar och minska kodrepetitionen.

Fönsteroperatorer

Fönsteroperatorer utför beräkningar i en uppsättning dokument i ett angivet fönster.

Description
$covariancePop Operatorn $covariancePop returnerar kovariansen för två numeriska uttryck
$covarianceSamp Operatorn $covarianceSamp returnerar kovariansen för ett urval av två numeriska uttryck
$denseRank Operatorn $denseRank tilldelar och returnerar en positionsrankning för varje dokument inom en partition baserat på en angiven sorteringsordning
$derivative Operatorn $derivative beräknar den genomsnittliga ändringshastigheten för värdet för ett fält i ett angivet fönster.
$documentNumber Operatorn $documentNumber tilldelar och returnerar en position för varje dokument inom en partition baserat på en angiven sorteringsordning
$expMovingAvg Operatorn $expMovingAvg beräknar det glidande medelvärdet för ett fält baserat på det angivna antalet dokument som har den högsta vikten
$integral Operatorn $integral beräknar området under en kurva med det angivna dokumentintervallet som utgör angränsande dokument för beräkningen.
$linearFill Operatorn $linearFill interpolerar saknade värden i en sekvens med dokument med linjär interpolation.
$locf Operatorn $locf sprider det senast observerade icke-null-värdet framåt i en partition i en fönsterfråga.
$rank Operatorn $rank rangordnar dokument inom en partition baserat på en angiven sorteringsordning.
$shift usage on DocumentDB En fönsteroperator som flyttar värden inom en partition och returnerar det skiftade värdet.