Funciones admitidas: 4.0

En las siguientes tablas se desglosan las funciones de MongoDB 4.0 compatibles con Firestore con compatibilidad con MongoDB. Para ver las diferencias en el comportamiento, consulta Diferencias en el comportamiento.

Operadores de consulta y proyección

Firestore con compatibilidad con MongoDB admite los siguientes operadores de consulta y proyección:

Operadores de matriz

Operador Compatible
$all Sí
$elemMatch Sí
$size Sí

Operadores bit a bit

Operador Compatible
$bitsAllClear No
$bitsAllSet No
$bitsAnyClear No
$bitsAnySet No

Operador de comentarios

Operador Compatible
$comment No

Operadores de comparación

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

Operadores de elementos

Operador Compatible
$exists Sí
$type Sí

Operadores de consulta de evaluación

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

Operadores lógicos

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

Operadores de proyección

Operador Compatible
$ Sí
$elemMatch Sí
$meta No
$slice Sí

Operadores de actualización

Firestore con compatibilidad con MongoDB admite los siguientes operadores de actualización.

Operadores de matriz

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

Operadores bit a bit

Operador Compatible
$bit Sí

Operadores de campo

Operador Compatible
$currentDate Sí
$inc Sí
$max Sí
$min Sí
$mul Sí
$rename Sí
$setOnInsert Sí

Actualizar modificadores

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

Operadores de la cadena de agregación

Firestore con compatibilidad con MongoDB admite los siguientes operadores de la fase de agregación.

Acumuladores

Expresión Compatible
$addToSet Sí
$avg Sí
$first Sí
$last Sí
$max Sí
$mergeObjects Sí
$min Sí
$push Sí
$stdDevPop No
$stdDevSamp No
$sum Sí

Expresiones de acumulador

Expresión Compatible
$avg Sí
$first Sí
$last Sí
$max Sí
$min Sí
$stdDevPop No
$stdDevSamp No
$sum Sí

Operadores aritméticos

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

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

Operadores de matriz

Operador Compatible
$arrayElemAt Sí
$arrayToObject Sí
$concatArrays Sí
$filter Sí
$firstN Sí
$in Sí
$indexOfArray Sí
$isArray Sí
$map Sí
$objectToArray Sí
$range Sí
$reduce Sí
$reverseArray Sí
$size Sí
$slice Sí
$zip Sí

Operadores booleanos

Operador Compatible
$and Sí
$not Sí
$or Sí

Operadores de comparación

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

Operadores de expresiones condicionales

Operador Compatible
$cond Sí
$ifNull Sí
$switch Sí

Operadores de fecha

Operador Compatible
$dateFromParts Sí
$dateFromString Sí
$dateToParts Sí
$dateToString 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 varios

Operador Compatible
$natural Sí (ascendente)
$toHashedIndexKey No

Operadores de expresiones literales

Operador Compatible
$literal Sí

Operadores de objetos

Operador Compatible
$mergeObjects Sí
$objectToArray Sí

Operadores de conjuntos

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

Operadores de fase

Operador Compatible
$addFields Sí
$bucket Sí
$bucketAuto No
$collStats No
$count Sí
$currentOp No
$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í
$out No
$project Sí
$redact No
$replaceRoot Sí
$sample No
$set Sí
$skip Sí
$sort Sí
$sortByCount Sí
$unset Sí
$unwind Sí

Operadores de cadena

Operador Compatible
$concat Sí
$dateFromString Sí
$dateToString Sí
$indexOfBytes Sí
$indexOfCP Sí
$ltrim 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 del sistema

Variable Compatible
$$CURRENT No
$$DESCEND No
$$KEEP No
$$PRUNE No
$$REMOVE Yes
$$ROOT Sí

Operadores de texto

Operador Compatible
$meta No

Operadores de tipo

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

Operadores de variables

Operador Compatible
$let Sí

Geoespacial

Firestore con compatibilidad con MongoDB admite los siguientes operadores geoespaciales.

Especificadores de geometría

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

Selectores de consultas

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

Índices y propiedades de índice

Firestore con compatibilidad con MongoDB admite los siguientes índices y operadores de índice.

Índices

Tipo de índice Compatible
2 d No
2dsphere No
Multiusos Sí
Cifrado con hash No
Multikey Sí
Campo único Sí
Texto No

Propiedades de índice

Propiedad Compatible
Fondo Sí
No distingue entre mayúsculas y minúsculas No
Parcial No
Non-Sparse Sí
Escaso Sí
Texto No
TTL No
Identificador único Sí

Comandos de bases de datos

Firestore con compatibilidad con MongoDB admite los siguientes comandos de base de datos.

Agregación

Comando Compatible
aggregate Sí
count Sí
distinct Sí
group

No

La $group fase de las agregaciones se admite, pero no el comando de grupo.

mapReduce No

Autenticación

Comando Compatible
authenticate No
getnonce No
logout No

Operaciones de consulta y escritura

Comando Compatible
watch (Change Streams) 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 se admite con el comando update.

resetError No
update Sí

Comandos de sesión

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

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

Comandos administrativos

Firestore con compatibilidad con MongoDB admite los siguientes comandos administrativos.

Comando Compatible
cloneCollectionAsCapped No
collMod No
collMod: expireAfterSeconds No
convertToCapped No
copydb No
create Sí
createIndex

Sí

Para crear índices, consulta Gestionar índices.

createIndexes

Sí

Para crear índices, consulta Gestionar índices.

createView No
currentOp No
drop No
dropDatabase

No

Para eliminar una base de datos, consulta Eliminar una base de datos.

dropIndex

Sí

Para eliminar índices, consulta Gestionar índices.

dropIndexes

No

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

Comandos de diagnóstico

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

Sí

Para obtener información sobre las diferencias de comportamiento y las limitaciones, consulta Explicación de consultas.

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

Comandos de gestión de roles

Para gestionar el acceso a la base de datos, Firestore con compatibilidad con MongoDB admite roles y permisos de Gestión de Identidades y Accesos.

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

Siguientes pasos