Compartir a través de


Compatibilidad del lenguaje de consulta mongoDB (MQL) en Azure DocumentDB

Azure DocumentDB proporciona una compatibilidad completa del lenguaje de consulta de MongoDB (MQL), que combina las características conocidas de MongoDB con las funcionalidades empresariales de Azure. En este artículo se proporciona información general sobre la compatibilidad y características de MQL en las versiones 5.0-8.0, incluidos operadores, comandos, índices y el protocolo de conexión de MongoDB. Las aplicaciones se pueden ejecutar sin cambios de código, con los mismos controladores de cliente, SDK y herramientas. Los usuarios se benefician de la escalabilidad, la seguridad y la integración de Azure con otros servicios de Azure.

Compatibilidad con el protocolo de red

El servicio Azure DocumentDB usa el protocolo de conexión de MongoDB, que proporciona una compatibilidad perfecta con las herramientas y controladores existentes. Cualquier controlador cliente que admita el protocolo de conexión de MongoDB puede conectarse a Azure DocumentDB, por lo que las aplicaciones se pueden ejecutar sin cambios en el código.

Los desarrolladores pueden mantener los mismos controladores de cliente, kits de desarrollo de software (SDK) y herramientas. Como usuario, también obtendrá la escalabilidad, la seguridad y la integración profunda de Azure con otros servicios dentro de la plataforma Azure.

Compatibilidad con lenguajes de consulta

Además de la compatibilidad con protocolos, Azure DocumentDB también proporciona compatibilidad completa con construcciones de lenguaje de consulta de MongoDB.

Filosofía de compatibilidad

La compatibilidad general del producto se determina mediante la evaluación del número de operadores de MongoDB (fases de agregación, operadores de agregación, operadores de consulta y proyección y operadores de actualización) compatibles con el servicio. Los comandos y las operaciones de administración de MongoDB se excluyen de este cálculo porque Azure DocumentDB, como oferta de PaaS, admite la mayoría de estos comandos internos, lo que elimina la necesidad de intervención del usuario. Estos comandos no se exponen a los usuarios; Sin embargo, en función de los patrones de uso y los comentarios de los clientes, hay disponible un subconjunto de comandos usados habitualmente para simplificar la experiencia del usuario.

La compatibilidad general del producto actualmente se encuentra en 99.02%. En la tabla de resumen de compatibilidad siguiente se detalla la compatibilidad con cada tipo de operador:

Total Compatible Porcentaje
Fases de agregación 60 58 96.67%
Operadores de agregación 181 181 100 %
Operadores de consulta y proyección 45 44 97.78%
Operadores de actualización 22 22 100 %

En la siguiente sección se presenta un desglose completo de los operadores de base de datos, comandos y más características compatibles, lo que ofrece una vista clara de la compatibilidad y funcionalidad del producto en varios escenarios.

Operadores

En la tabla siguiente se enumeran los operadores que se admiten actualmente en Azure DocumentDB:

Categoría Operator Soportado (v5.0) Compatible (v6.0) Compatible (v7.0) Compatible (v8.0)
Operadores de consulta de comparación $eq ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $gt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $gte ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $in ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $lt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $lte ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $ne ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de comparación $nin ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta lógica $and ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta lógica $not ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta lógica $nor ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta lógica $or ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de elementos $exists ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de elementos $type ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $expr ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $jsonSchema* ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $mod ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $regex ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $text ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de evaluación $where En desuso en Mongo, versión 8.0
Operadores de geoespaciales $geoIntersects ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $geoWithin ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $box ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $center ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $centerSphere ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $geometry ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $maxDistance ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $minDistance ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $polygon ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $near ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de geoespaciales $nearSphere ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de matriz $all ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de matriz $elemMatch ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta de matriz $size ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta bit a bit $bitsAllClear ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta bit a bit $bitsAllSet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta bit a bit $bitsAnyClear ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta bit a bit $bitsAnySet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de proyección $ ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de proyección $elemMatch ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de proyección $meta ❌ No ❌ No ❌ No ❌ No
Operadores de proyección $slice ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta variados $comment ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta variados $rand ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de consulta variados $natural ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $currentDate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $inc ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $min ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $max ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $mul ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $rename ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $set ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $setOnInsert ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de campo $unset ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $ ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $[] ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $[identifier] ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $addToSet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $pop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $pull ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $push ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $pullAll ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $each ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $position ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $slice ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de actualización de matriz $sort ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operador de actualización bit a bit $bit ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $abs ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $add ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $ceil ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $divide ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $exp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $floor ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $ln ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $log ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $log10 ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $mod ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $multiply ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $pow ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $round ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $sqrt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $subtract ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión aritmética $trunc ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $arrayElemAt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $arrayToObject ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $concatArrays ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $filter ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $firstN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $in ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $indexOfArray ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $isArray ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $lastN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $map ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $maxN ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $minN ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $objectToArray ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $range ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $reduce ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $reverseArray ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $size ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $slice ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $sortArray ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de matriz $zip ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores bit a bit $bitAnd ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores bit a bit $bitNot ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores bit a bit $bitOr ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores bit a bit $bitXor ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión booleana $and ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión booleana $not ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión booleana $or ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $cmp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $eq ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $gt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $gte ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $lt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $lte ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de comparación $ne ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de agregación personalizada $accumulator En desuso en Mongo, versión 8.0
Operadores de expresión de agregación personalizada $function En desuso en Mongo, versión 8.0
Operadores de tamaño de datos $bsonSize ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de tamaño de datos $binarySize ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateAdd ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateDiff ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateFromParts ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateFromString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateSubtract ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateToParts ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateToString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dateTrunc ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dayOfMonth ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dayOfWeek ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $dayOfYear ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $hour ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $isoDayOfWeek ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $isoWeek ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $isoWeekYear ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $millisecond ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $minute ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $month ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $second ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $toDate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $week ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de fecha $year ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operador de expresión literal $literal ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores varios $getField ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores varios $rand ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores varios $sampleRate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de objeto $mergeObjects ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de objeto $objectToArray ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de objeto $setField ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $allElementsTrue ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $anyElementTrue ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $setDifference ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $setEquals ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $setIntersection ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $setIsSubset ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de conjunto $setUnion ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $concat ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $dateFromString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $dateToString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $indexOfBytes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $indexOfCP ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $ltrim ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $regexFind ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $regexFindAll ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $regexMatch ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $replaceOne ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $replaceAll ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $rtrim ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $split ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $strLenBytes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $strLenCP ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $strcasecmp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $substr ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $substrBytes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $substrCP ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $toLower ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $toString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $trim ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de cadena $toUpper ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operador de expresión de texto $meta ❌ No ❌ No ❌ No ❌ No
Operadores de expresión de marca de tiempo $tsIncrement ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de marca de tiempo $tsSecond ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $sin ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $cos ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $tan ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $asin ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $acos ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $atan ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $atan2 ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $asinh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $acosh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $atanh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $sinh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $cosh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $tanh ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $degreesToRadians ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión trigonométrica $radiansToDegrees ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $convert ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $isNumber ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toBool ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toDate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toDecimal ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toDouble ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toInt ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toLong ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toObjectId ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $toString ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión de tipo $type ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $accumulator En desuso en Mongo, versión 8.0
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $addToSet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $avg ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $bottom ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $bottomN ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $count ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $first ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $firstN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $last ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $lastN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $max ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $maxN ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $median ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $mergeObjects ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $min ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $percentile ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $push ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $stdDevPop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $stdDevSamp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $sum ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $top ✅ Sí ✅ Sí ✅ Sí
Acumuladores ($group, $bucket, $bucketAuto, $setWindowFields) $topN ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $avg ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $first ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $last ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $max ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $median ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $min ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $percentile ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $stdDevPop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $stdDevSamp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Acumuladores (en otras fases) $sum ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión variable $let ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $sum ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $push ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $addToSet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $count ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $max ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $min ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $avg ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $stdDevPop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $bottom ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $bottomN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $covariancePop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $covarianceSamp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $denseRank ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $derivative ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $documentNumber ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $expMovingAvg ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $first ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $integral ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $last ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $linearFill ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $locf ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $minN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $rank ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $shift ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $stdDevSamp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $top ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de ventana $topN ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión condicional $cond ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión condicional $ifNull ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Operadores de expresión condicional $switch ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $addFields ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $bucket ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $bucketAuto ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $changeStream ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $changeStreamSplitLargeEvent ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $collStats ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $count ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $densify ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $documents ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $facet ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $fill ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $geoNear ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $graphLookup ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $group ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $indexStats ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $limit ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $listSampledQueries ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $listSearchIndexes ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $listSessions ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $lookup ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $match ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $merge ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $out ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $planCacheStats ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $project ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $redact ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $replaceRoot ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $replaceWith ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $sample ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $search ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $searchMeta ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $set ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $setWindowFields ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $skip ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $sort ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $sortByCount ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $unionWith ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $unset ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $unwind ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $shardedDataDistribution ❌ No ❌ No ❌ No ❌ No
Fases de canalización de agregación $currentOp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Fases de canalización de agregación $listLocalSessions ❌ No ❌ No ❌ No ❌ No
Variables en expresiones de agregación NOW ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación ROOT ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación REMOVE ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación CURRENT ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación CLUSTER_TIME ❌ No ❌ No ❌ No ❌ No
Variables en expresiones de agregación DESCEND ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación PRUNE ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación KEEP ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Variables en expresiones de agregación SEARCH_META ❌ No ❌ No ❌ No ❌ No
Variables en expresiones de agregación USER_ROLES ❌ No ❌ No ❌ No ❌ No

Nota:

AvgObjsize y size en collStats y dbStats solo funciona con documentos que tienen un tamaño inferior a 2 kilobytes.

La validación de esquema admite: insert, update, findAndModify, y las etapas $merge / $out de agregación. Use bypassDocumentValidation para omitir la validación si es necesario.

En este artículo solo se enumeran los comandos admitidos del lado servidor y no se incluyen funciones contenedoras del lado cliente. Las funciones contenedoras del lado cliente, como deleteMany() y updateMany(), invocan internamente los comandos de servidor correspondientes (delete() y update()). Cualquier función que se base en comandos de servidor compatibles es compatible con Azure DocumentDB.

Comandos de base de datos

Azure DocumentDB admite los siguientes comandos de base de datos:

Categoría Command Característica (v5.0) Característica (v6.0) Característica (v7.0) Característica (v8.0)
Comandos administrativos cloneCollectionAsCapped ❌ No ❌ No ❌ No ❌ No
Comandos administrativos collMod ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos compact ❌ No ❌ No ❌ No ❌ No
Comandos administrativos convertToCapped ❌ No ❌ No ❌ No ❌ No
Comandos administrativos create ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos createIndexes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos currentOp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos drop ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos dropDatabase ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos dropIndexes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos filemd5 ❌ No ❌ No ❌ No ❌ No
Comandos administrativos getDefaultRWConcern ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos getClusterParameter N/A¹ ❌ No ❌ No ❌ No
Comandos administrativos getParameter ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos killCursors ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos killOp ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos listCollections ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos listDatabases ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos listIndexes ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos reIndex ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos renameCollection ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos setIndexCommitQuorum ❌ No ❌ No ❌ No ❌ No
Comandos administrativos setParameter ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos administrativos setDefaultRWConcern ❌ No ❌ No ❌ No ❌ No
Comandos administrativos validateDBMetadata ❌ No ❌ No ❌ No ❌ No
Comandos administrativos dropConnections N/A² N/A² N/A² N/A²
Comandos administrativos fsync N/A² N/A² N/A² N/A²
Comandos administrativos fsyncUnlock N/A² N/A² N/A² N/A²
Comandos administrativos logRotate N/A² N/A² N/A² N/A²
Comandos administrativos rotateCertificates N/A² N/A² N/A² N/A²
Comandos administrativos setFeatureCompatibilityVersion N/A² N/A² N/A² N/A²
Comandos administrativos shutdown N/A² N/A² N/A² N/A²
Comandos administrativos compactStructuredEncryptionData N/A² N/A² N/A² N/A²
Comandos administrativos setUserWriteBlockMode N/A² N/A² N/A² N/A²
Comandos de agregación aggregate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de agregación count ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de agregación distinct ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de agregación mapReduce N/A³ N/A³ N/A³ N/A³
Comandos de autenticación authenticate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de autenticación logout N/A³ N/A³ N/A³ N/A³
Comandos de diagnóstico buildInfo ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico collStats ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico connPoolStats ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico connectionStatus ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico dataSize ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico dbHash ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico dbStats ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico explain ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico getCmdLineOpts ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico getLog ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico hello ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico hostInfo ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico listCommands ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico lockInfo ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico ping ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico profile N/A² N/A² N/A² N/A²
Comandos de diagnóstico serverStatus ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico shardConnPoolStats N/A³ N/A³ N/A³ N/A³
Comandos de diagnóstico top ❌ No ❌ No ❌ No ❌ No
Comandos de diagnóstico validate ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de diagnóstico whatsmyuri ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos geoespaciales geoSearch N/A³ N/A³ N/A³ N/A³
Comandos de operación de consulta y escritura bulkWrite ❌ No ❌ No ❌ No ❌ No
Comandos de operación de consulta y escritura delete ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de operación de consulta y escritura find ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de operación de consulta y escritura findAndModify ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de operación de consulta y escritura getLastError N/A N/A N/A N/A
Comandos de operación de consulta y escritura getMore ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de operación de consulta y escritura insert ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de operación de consulta y escritura resetError N/A³ N/A³ N/A³ N/A³
Comandos de operación de consulta y escritura update ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de caché del plan de consulta N/A
Comandos de replicación N/A
Comandos de administración de roles N/A
Comandos de sesión abortTransaction ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de sesión commitTransaction ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de sesión endSessions ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de sesión killAllSessions ❌ No ❌ No ❌ No ❌ No
Comandos de sesión killAllSessionsByPattern ❌ No ❌ No ❌ No ❌ No
Comandos de sesión killSessions ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de sesión refreshSessions ❌ No ❌ No ❌ No ❌ No
Comandos de sesión startSession ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de particionamiento enableSharding ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de particionamiento isdbgrid ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de particionamiento reshardCollection ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de particionamiento shardCollection ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de particionamiento unsetSharding N/A³ N/A³ N/A³ N/A³
Comandos de particionamiento addShardToZone N/A N/A N/A N/A
Comandos de particionamiento clearJumboFlag N/A N/A N/A N/A
Comandos de particionamiento abortUnshardCollection N/A N/A N/A N/A
Comandos de particionamiento removeShard N/A N/A N/A N/A
Comandos de particionamiento removeShardFromZone N/A N/A N/A N/A
Comandos de particionamiento setShardVersion N/A N/A N/A N/A
Comandos de particionamiento mergeChunks N/A N/A N/A N/A
Comandos de particionamiento abortMoveCollection N/A N/A N/A N/A
Comandos de particionamiento getShardMap N/A N/A N/A N/A
Comandos de particionamiento analyzeShardKey N/A N/A N/A N/A
Comandos de particionamiento medianKey N/A N/A N/A N/A
Comandos de particionamiento checkMetadataConsistency N/A N/A N/A N/A
Comandos de particionamiento shardingState N/A N/A N/A N/A
Comandos de particionamiento cleanupReshardCollection N/A N/A N/A N/A
Comandos de particionamiento flushRouterConfig N/A N/A N/A N/A
Comandos de particionamiento balancerCollectionStatus N/A N/A N/A N/A
Comandos de particionamiento balancerStart N/A N/A N/A N/A
Comandos de particionamiento balancerStatus N/A N/A N/A N/A
Comandos de particionamiento balancerStop N/A N/A N/A N/A
Comandos de particionamiento configureCollectionBalancing N/A N/A N/A N/A
Comandos de particionamiento listShards N/A N/A N/A N/A
Comandos de particionamiento split N/A N/A N/A N/A
Comandos de particionamiento moveChunk N/A N/A N/A N/A
Comandos de particionamiento updateZoneKeyRange N/A N/A N/A N/A
Comandos de particionamiento movePrimary N/A N/A N/A N/A
Comandos de particionamiento moveRange N/A N/A N/A N/A
Comandos de particionamiento abortReshardCollection N/A N/A N/A N/A
Comandos de particionamiento commitReshardCollection N/A N/A N/A N/A
Comandos de particionamiento refineCollectionShardKey N/A N/A N/A N/A
Comandos de particionamiento configureQueryAnalyzer N/A N/A N/A N/A
Comandos de particionamiento transitionFromDedicatedConfigServer N/A N/A N/A N/A
Comandos de particionamiento transitionToDedicatedConfigServer N/A N/A N/A N/A
Comandos de particionamiento unshardCollection N/A N/A N/A N/A
Comandos de auditoría de eventos del sistema logApplicationMessage ❌ No ❌ No ❌ No ❌ No
Comandos de administración de usuarios createUser ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de administración de usuarios dropUser ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de administración de usuarios usersInfo ✅ Sí ✅ Sí ✅ Sí ✅ Sí
Comandos de administración de usuarios dropAllUsersFromDatabase N/A N/A N/A N/A
Comandos de administración de usuarios grantRolesToUser N/A N/A N/A N/A
Comandos de administración de usuarios revokeRolesFromUser N/A N/A N/A N/A
Comandos de administración de usuarios updateUser N/A N/A N/A N/A

Nota:

  1. getClusterParameter no es compatible con v5.0.
  2. Azure administra completamente Azure DocumentDB, un servicio PaaS, para comandos como dropConnections, fsync, logRotate, , etc.
  3. En desuso en MongoDB versión 5.0.
  4. En desuso en MongoDB versión 5.1.
  5. Al ser un servicio PaaS, el motor de base de datos administra el almacenamiento en caché del plan de consulta.
  6. Azure administra la replicación, lo que elimina la necesidad de replicarse manualmente.
  7. Como servicio totalmente administrado, esta funcionalidad se proporciona a través del identificador de Entra de Microsoft.
  8. Como oferta de PaaS, Azure controla la administración y el reequilibrio de particiones. Solamente debe fragmentar sus colecciones. Azure se encarga del resto.

Tipos de índice

Azure DocumentDB admite los siguientes tipos de índice:

Index Description Compatible
Índice de campo único Indexa un único campo para búsquedas más rápidas. ✅ Sí
Índice compuesto Indexa varios campos en un índice. ✅ Sí
Índice de varias claves Indexa los campos de matriz mediante la indexación de cada elemento. ✅ Sí
Índice de texto Admite la búsqueda de texto en campos de cadena. ✅ Sí
Índices de caracteres comodín Indexa dinámicamente todos los campos o campos seleccionados. ✅ Sí
Índice geoespacial Admite consultas espaciales en datos GeoJSON. ✅ Sí
Índice de hash Indexa valores de campo hash, a menudo para particionamiento. ✅ Sí
Índice vectorial (solo en DocumentDB) Habilita la búsqueda de similitud en los datos vectoriales. ✅ Sí, con búsqueda vectorial

Nota:

La creación de un índice único obtiene un bloqueo exclusivo en la colección durante toda la duración del proceso de compilación. Estos índices bloquean las operaciones de lectura y escritura en la colección hasta que se complete la operación.

Propiedades de índice

Azure DocumentDB admite las siguientes propiedades de índice:

Propiedad Index Description Compatible
período de vida (TTL) Elimina automáticamente los documentos después de un período de vida especificado. ✅ Sí
Unique Garantiza que todos los valores del campo indizado sean únicos. ✅ Sí
Parcial Indexa solo los documentos que coinciden con una condición de filtro especificada. ✅ Sí
No distingue mayúsculas de minúsculas Admite la indexación sin distinción entre mayúsculas y minúsculas para los campos de cadena. ✅ Sí
Dispersos Indexa solo los documentos que contienen el campo indizado. ✅ Sí
Contexto Permite crear el índice en segundo plano sin operaciones de bloqueo. ✅ Sí