Funciones compatibles: 7.0

En las siguientes tablas, se incluye un desglose de las funciones de MongoDB 7.0 que admite Cloud Firestore. Para conocer las diferencias de comportamiento, consulta Diferencias de comportamiento.

Operadores de consulta y proyección

Cloud Firestore admite los siguientes operadores de proyección y consulta:

Operadores de array

Operador Admitido
$all Sí
$elemMatch Sí
$size Sí

Operadores a nivel de bits

Operador Admitido
$bitsAllClear No
$bitsAllSet No
$bitsAnyClear No
$bitsAnySet No

Operador de comentarios

Operador Admitido
$comment No

Operadores de comparación

Operador Admitido
$eq Sí
$gt Sí
$gte Sí
$in Sí
$lt Sí
$lte Sí
$ne Sí
$nin Sí

Operadores de elementos

Operador Admitido
$exists Sí
$type Sí

Operadores de consultas de evaluación

Operador Admitido
$expr Sí
$jsonSchema No
$mod Sí
$regex Sí
$text No
$where No

Operadores lógicos

Operador Admitido
$and Sí
$nor Sí
$not Sí
$or Sí

Operadores de proyección

Operador Admitido
$ Sí
$elemMatch Sí
$meta Parcial (admite `textScore`)
$slice Sí

Operadores de actualización

Cloud Firestore admite los siguientes operadores de actualización.

Operadores de array

Operador Admitido
$ Sí
$[] Sí
$[<identifier>] Sí
$addToSet Sí
$percentile Sí
$pop Sí
$pull Sí
$pullAll Sí
$push Sí

Operadores a nivel de bits

Operador Admitido
$bit Sí

Operadores de campo

Operador Admitido
$currentDate Sí
$inc Sí
$max Sí
$min Sí
$mul Sí
$rename Sí
$set Sí
$setOnInsert Sí
$unset Sí

Modificadores de actualización

Modificador Admitido
$each Sí
$position Sí
$slice Sí
$sort Sí

Operadores de canalización de agregación

Cloud Firestore admite los siguientes operadores de canalización de agregación.

Acumuladores

Expresión Admitido
$accumulator No
$addToSet Sí
$avg Sí
$bottom No
$bottomN No
$count Sí
$first Sí
$firstN No
$last Sí
$lastN No
$max Sí
$maxN No
$median No
$mergeObjects Sí
$min Sí
$minN No
$percentile No
$push Sí
$stdDevPop No
$stdDevSamp No
$sum Sí
$top No
$topN No

Expresiones de acumulador

Expresión Admitido
$avg Sí
$first Sí
$last Sí
$max Sí
$median Sí
$min Sí
$percentile Sí
$stdDevPop No
$stdDevSamp No
$sum Sí

Operadores aritméticos

Limitaciones: Los operadores aritméticos no admiten valores decimal128.

Operador Admitido
$abs Sí
$add Sí
$ceil Sí
$divide Sí
$exp Sí
$floor Sí
$ln Sí
$log Sí
$log10 Sí
$mod Sí
$multiply Sí
$pow Sí
$round Sí
$sqrt Sí
$subtract Sí
$trunc Sí

Operadores de array

Operador Admitido
$arrayElemAt Sí
$arrayToObject Sí
$concatArrays Sí
$filter Sí
$firstN Sí
$in Sí
$indexOfArray Sí
$isArray Sí
$lastN Sí
$map Sí
$maxN Sí
$minN Sí
$objectToArray Sí
$range Sí
$reduce Sí
$reverseArray Sí
$size Sí
$slice Sí
$sortArray Sí
$zip Sí

Operadores booleanos

Operador Admitido
$and Sí
$not Sí
$or Sí

Operadores de comparación

Operador Admitido
$cmp Sí
$eq Sí
$gt Sí
$gte Sí
$lt Sí
$lte Sí
$ne Sí

Operadores de expresiones condicionales

Operador Admitido
$cond Sí
$ifNull Sí
$switch Sí

Operadores de tamaño de datos

Operador Admitido
$binarySize Sí
$bsonSize Sí

Operadores de fecha

Operador Admitido
$dateAdd Sí
$dateDiff Sí
$dateFromParts Sí
$dateFromString Sí
$dateSubtract Sí
$dateToParts Sí
$dateToString Sí
$dateTrunc Sí
$dayOfMonth Sí
$dayOfWeek Sí
$dayOfYear Sí
$hour Sí
$isoDayOfWeek Sí
$isoWeek Sí
$isoWeekYear Sí
$millisecond Sí
$minute Sí
$month Sí
$second Sí
$toDate Sí
$week Sí
$year Sí

Operadores de marca de tiempo

Operador Admitido
$tsIncrement No
$tsSecond No

Operadores varios

Operador Admitido
$getField Sí
$natural Sí (ascendente)
$rand Sí
$sampleRate No
$toHashedIndexKey No

Operadores de expresiones literales

Operador Admitido
$literal Sí

Operadores de objetos

Operador Admitido
$mergeObjects Sí
$objectToArray Sí
$setField No

Operadores de configuración

Operador Admitido
$allElementsTrue Sí
$anyElementTrue Sí
$setDifference Sí
$setEquals Sí
$setIntersection Sí
$setIsSubset Sí
$setUnion Sí

Operadores de etapa

Operador Admitido
$addFields Sí
$bucket Sí
$bucketAuto No
$changeStream No
$collStats No
$count Sí
$currentOp No
$documents Sí
$facet Sí
$geoNear No
$graphLookup No
$group Sí
$indexStats No
$limit Sí
$listLocalSessions No
$listSessions No
$lookup

Sí

No admite los campos let y pipeline.

$match Sí
$merge No
$out No
$planCacheStats No
$project Sí
$redact No
$replaceRoot Sí
$replaceWith Sí
$sample Sí
$set Sí
$search No
$setWindowFields No
$skip Sí
$sort Sí
$sortByCount Sí
$unionWith Sí
$unset Sí
$unwind Sí

Operadores de cadenas

Operador Admitido
$concat Sí
$dateFromString Sí
$dateToString Sí
$indexOfBytes Sí
$indexOfCP Sí
$ltrim Sí
$regexFind Sí
$regexFindAll Sí
$regexMatch Sí
$replaceAll Sí
$replaceOne Sí
$rtrim Sí
$split Sí
$strcasecmp Sí
$strLenBytes Sí
$strLenCP Sí
$substr Sí
$substrBytes Sí
$substrCP Sí
$toLower Sí
$toString Sí
$toUpper Sí
$trim Sí

Variables de sistema

Variable Admitido
$$CLUSTERTIME No
$$CURRENT No
$$DESCEND No
$$KEEP No
$$NOW Yes
$$PRUNE No
$$REMOVE Yes
$$ROOT Sí

Operadores de texto

Operador Admitido
$meta No

Operadores de trigonometría

Operador Admitido
$acos No
$acosh No
$asin No
$asinh No
$atan No
$atan2 No
$atanh No
$cos No
$cosh No
$degreesToRadians No
$radiansToDegrees No
$sin No
$sinh No
$tan No
$tanh No

Operadores de tipo

Operador Admitido
$convert Sí
$isNumber Sí
$toBool Sí
$toDate Sí
$toDecimal Sí
$toDouble Sí
$toInt Sí
$toLong Sí
$toObjectId Sí
$toString Sí
$type Sí

Operadores de variables

Operador Admitido
$let Sí

Geoespacial

Cloud Firestore admite los siguientes operadores geoespaciales.

Especificadores de geometría

Especificador Admitido
$box No
$center No
$centerSphere No
$geometry No
$maxDistance No
$minDistance No
$polygon No
$uniqueDocs No

Selectores de consultas

Selector Admitido
$geoIntersects No
$geoWithin No
$near No
$nearSphere No
$nearSphere No
$uniqueDocs No

Índices y propiedades de los índices

Cloud Firestore admite los siguientes índices y operadores de índice.

Índices

Tipo de índice Admitido
2 d No
2dsphere No
Complejo Sí
Con hash No
Varias claves Sí
De campo único Sí
Texto No

Propiedades del índice

Propiedad Admitido
Segundo plano Sí
No distingue mayúsculas de minúsculas No
Oculto No
Parcial No
No dispersa Sí
Dispersa Sí
Texto No
TTL Sí
Único Sí
Comodín No
Vector No

Comandos de base de datos

Cloud Firestore admite los siguientes comandos de bases de datos.

Agregación

Comando Admitido
aggregate Sí
count Sí
distinct Sí
group

No

Se admite la etapa $group en las agregaciones, pero no el comando group.

mapReduce No

Autenticación

Comando Admitido
authenticate No
getnonce No
logout No

Operaciones de escritura y consulta

Comando Admitido
watch (flujos de cambios) No
delete Sí
eval No
find Sí
findAndModify Sí
getLastError Sí
getMore Sí
getPrevError No
GridFS No
insert Sí
parallelCollectionScan No
replaceOne

No

El método del controlador replaceOne es compatible con el comando update.

resetError No
update Sí

Comandos de sesión

Comando Admitido
abortTransaction Sí
commitTransaction Sí
endSessions Sí
killAllSessions No
killAllSessionsByPattern No
killSessions No
refreshSessions No
startSession

Las sesiones se pueden iniciar con el método del controlador startSession.

Comandos administrativos

Cloud Firestore admite los siguientes comandos administrativos.

Comando Admitido
cloneCollectionAsCapped No
collMod No
collMod: expireAfterSeconds No
convertToCapped No
copydb No
create Sí
createIndex Sí
createIndexes Sí
createView No
currentOp No
drop No
dropDatabase

No

Para borrar una base de datos, consulta Borra una base de datos.

dropIndex

Sí

Para borrar índices, consulta Administra índices.

dropIndexes

No

filemd5 No
getAuditConfig No
killCursors Sí
killOp No
listCollections Sí
listDatabases Sí
listIndexes Sí
reIndex No
renameCollection No
setAuditConfig No

Comandos de diagnóstico

Comando Admitido
buildInfo Sí
collStats No
connectionStatus Sí
connPoolStats No
dataSize No
dbHash No
dbStats No
explain

Sí

Para conocer las diferencias y limitaciones de comportamiento, consulta Explicación de la búsqueda.

features No
hello Sí
hostInfo Sí
listCommands No
profiler No
serverStatus No
top No
whatsmyuri No

Comandos de administración de roles

Para administrar el acceso a la base de datos, Cloud Firestore admite roles y permisos de Identity and Access Management.

Comando Admitido
createRole No
dropAllRolesFromDatabase No
dropRole No
grantRolesToRole No
revokePrivilegesFromRole No
revokeRolesFromRole No
rolesInfo No
updateRole No

¿Qué sigue?