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 |
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