Funcionalidades suportadas: 5.0
As tabelas seguintes incluem uma discriminação das funcionalidades do MongoDB 5.0 suportadas pelo
Firestore com compatibilidade com o MongoDB. Para ver as diferenças no comportamento, consulte o artigo
Diferenças de comportamento.
Operadores de consulta e projeção
O Firestore com compatibilidade com o MongoDB suporta os seguintes operadores de consulta e projeção:
Operadores de matriz
| Operador |
Suportado |
$all |
Sim |
$elemMatch |
Sim |
$size |
Sim |
Operadores bit a bit
| Operador |
Suportado |
$bitsAllClear |
Não |
$bitsAllSet |
Não |
$bitsAnyClear |
Não |
$bitsAnySet |
Não |
| Operador |
Suportado |
$comment |
Não |
Operadores de comparação
| Operador |
Suportado |
$eq |
Sim |
$gt |
Sim |
$gte |
Sim |
$in |
Sim |
$lt |
Sim |
$lte |
Sim |
$ne |
Sim |
$nin |
Sim |
Operadores de elementos
| Operador |
Suportado |
$exists |
Sim |
$type |
Sim |
Operadores de consulta de avaliação
| Operador |
Suportado |
$expr |
Sim |
$jsonSchema |
Não |
$mod |
Sim |
$regex |
Sim |
$text |
Não |
$where |
Não |
Operadores lógicos
| Operador |
Suportado |
$and |
Sim |
$nor |
Sim |
$not |
Sim |
$or |
Sim |
Operadores de projeção
| Operador |
Suportado |
$ |
Sim |
$elemMatch |
Sim |
$meta |
Não |
$slice |
Sim |
Atualize os operadores
O Firestore com compatibilidade com o MongoDB suporta os seguintes operadores de atualização.
Operadores de matriz
| Operador |
Suportado |
$ |
Sim |
$[] |
Sim |
$[<identifier>] |
Sim |
$addToSet |
Sim |
$pop |
Sim |
$pull |
Sim |
$pullAll |
Sim |
$push |
Sim |
Operadores bit a bit
| Operador |
Suportado |
$bit |
Sim |
Operadores de campo
| Operador |
Suportado |
$currentDate |
Sim |
$inc |
Sim |
$max |
Sim |
$min |
Sim |
$mul |
Sim |
$rename |
Sim |
$set |
Sim |
$setOnInsert |
Sim |
$unset |
Sim |
Atualize os modificadores
| Modificador |
Suportado |
$each |
Sim |
$position |
Sim |
$slice |
Sim |
$sort |
Sim |
Operadores de pipeline de agregação
O Firestore com compatibilidade com o MongoDB suporta os seguintes operadores de pipeline de agregação.
Acumuladores
| Expressão |
Suportado |
$accumulator |
Não |
$addToSet |
Sim |
$avg |
Sim |
$count |
Sim |
$first |
Sim |
$last |
Sim |
$max |
Sim |
$mergeObjects |
Sim |
$min |
Sim |
$push |
Sim |
$stdDevPop |
Não |
$stdDevSamp |
Não |
$sum |
Sim |
Expressões de acumulador
| Expressão |
Suportado |
$avg |
Sim |
$first |
Sim |
$last |
Sim |
$max |
Sim |
$min |
Sim |
$stdDevPop |
Não |
$stdDevSamp |
Não |
$sum |
Sim |
Operadores aritméticos
Limitações: os operadores aritméticos não suportam valores decimal128.
| Operador |
Suportado |
$abs |
Sim |
$add |
Sim |
$ceil |
Sim |
$divide |
Sim |
$exp |
Sim |
$floor |
Sim |
$ln |
Sim |
$log |
Sim |
$log10 |
Sim |
$mod |
Sim |
$multiply |
Sim |
$pow |
Sim |
$round |
Sim |
$sqrt |
Sim |
$subtract |
Sim |
$trunc |
Sim |
Operadores de matriz
| Operador |
Suportado |
$arrayElemAt |
Sim |
$arrayToObject |
Sim |
$concatArrays |
Sim |
$filter |
Sim |
$firstN |
Sim |
$in |
Sim |
$indexOfArray |
Sim |
$isArray |
Sim |
$map |
Sim |
$objectToArray |
Sim |
$range |
Sim |
$reduce |
Sim |
$reverseArray |
Sim |
$size |
Sim |
$slice |
Sim |
$zip |
Sim |
Operadores booleanos
| Operador |
Suportado |
$and |
Sim |
$not |
Sim |
$or |
Sim |
Operadores de comparação
| Operador |
Suportado |
$cmp |
Sim |
$eq |
Sim |
$gt |
Sim |
$gte |
Sim |
$lt |
Sim |
$lte |
Sim |
$ne |
Sim |
Operadores de expressões condicionais
| Operador |
Suportado |
$cond |
Sim |
$ifNull |
Sim |
$switch |
Sim |
Operadores de tamanho dos dados
| Operador |
Suportado |
$binarySize |
Sim |
$bsonSize |
Sim |
Operadores de data
| Operador |
Suportado |
$dateAdd |
Sim |
$dateDiff |
Sim |
$dateFromParts |
Sim |
$dateFromString |
Sim |
$dateSubtract |
Sim |
$dateToParts |
Sim |
$dateToString |
Sim |
$dateTrunc |
Sim |
$dayOfMonth |
Sim |
$dayOfWeek |
Sim |
$dayOfYear |
Sim |
$hour |
Sim |
$isoDayOfWeek |
Sim |
$isoWeek |
Sim |
$isoWeekYear |
Sim |
$millisecond |
Sim |
$minute |
Sim |
$month |
Sim |
$second |
Sim |
$toDate |
Sim |
$week |
Sim |
$year |
Sim |
Operadores diversos
| Operador |
Suportado |
$getField |
Sim |
$natural |
Sim (ascendente) |
$rand |
Sim |
$sampleRate |
Não |
$toHashedIndexKey |
Não |
Operadores de expressões literais
| Operador |
Suportado |
$literal |
Sim |
Operadores de objetos
| Operador |
Suportado |
$mergeObjects |
Sim |
$objectToArray |
Sim |
$setField |
Não |
Operadores de conjuntos
| Operador |
Suportado |
$allElementsTrue |
Sim |
$anyElementTrue |
Sim |
$setDifference |
Sim |
$setEquals |
Sim |
$setIntersection |
Sim |
$setIsSubset |
Sim |
$setUnion |
Sim |
Operadores de palco
| Operador |
Suportado |
$addFields |
Sim |
$bucket |
Sim |
$bucketAuto |
Não |
$changeStreams |
Não |
$collStats |
Não |
$count |
Sim |
$currentOp |
Não |
$facet |
Sim |
$geoNear |
Não |
$graphLookup |
Não |
$group |
Sim |
$indexStats |
Não |
$limit |
Sim |
$listLocalSessions |
Não |
$listSessions |
Não |
$lookup |
Sim
Não suporta os campos let e pipeline.
|
$match |
Sim |
$merge |
Não |
$out |
Não |
$planCacheStats |
Não |
$project |
Sim |
$redact |
Não |
$replaceRoot |
Sim |
$replaceWith |
Sim |
$sample |
Não |
$set |
Sim |
$search |
Não |
$setWindowFields |
Não |
$skip |
Sim |
$sort |
Sim |
$sortByCount |
Sim |
$unionWith |
Sim |
$unset |
Sim |
$unwind |
Sim |
Operadores de strings
| Operador |
Suportado |
$concat |
Sim |
$dateFromString |
Sim |
$dateToString |
Sim |
$indexOfBytes |
Sim |
$indexOfCP |
Sim |
$ltrim |
Sim |
$regexFind |
Sim |
$regexFindAll |
Sim |
$regexMatch |
Sim |
$replaceAll |
Sim |
$replaceOne |
Sim |
$rtrim |
Sim |
$split |
Sim |
$strcasecmp |
Sim |
$strLenBytes |
Sim |
$strLenCP |
Sim |
$substr |
Sim |
$substrBytes |
Sim |
$substrCP |
Sim |
$toLower |
Sim |
$toString |
Sim |
$toUpper |
Sim |
$trim |
Sim |
Variáveis do sistema
| Variável |
Suportado |
$$CLUSTERTIME |
No |
$$CURRENT |
Não |
$$DESCEND |
No |
$$KEEP |
Não |
$$NOW |
Yes |
$$PRUNE |
Não |
$$REMOVE |
Yes |
$$ROOT |
Sim |
Operadores de texto
| Operador |
Suportado |
$meta |
Não |
Operadores de trigonometria
| Operador |
Suportado |
$acos |
Não |
$acosh |
Não |
$asin |
Não |
$asinh |
Não |
$atan |
Não |
$atan2 |
Não |
$atanh |
Não |
$cos |
Não |
$cosh |
Não |
$degreesToRadians |
Não |
$radiansToDegrees |
Não |
$sin |
Não |
$sinh |
Não |
$tan |
Não |
$tanh |
Não |
Operadores de tipo
| Operador |
Suportado |
$convert |
Sim |
$isNumber |
Sim |
$toBool |
Sim |
$toDate |
Sim |
$toDecimal |
Sim |
$toDouble |
Sim |
$toInt |
Sim |
$toLong |
Sim |
$toObjectId |
Sim |
$toString |
Sim |
$type |
Sim |
Operadores de variáveis
| Operador |
Suportado |
$let |
Sim |
Geoespacial
O Firestore com compatibilidade com o MongoDB suporta os seguintes operadores geoespaciais.
Especificadores de geometria
| Specifier |
Suportado |
$box |
Não |
$center |
Não |
$centerSphere |
Não |
$geometry |
Não |
$maxDistance |
Não |
$minDistance |
Não |
$polygon |
Não |
$uniqueDocs |
Não |
Seletores de consultas
| Seletor |
Suportado |
$geoIntersects |
Não |
$geoWithin |
Não |
$near |
Não |
$nearSphere |
Não |
$nearSphere |
Não |
$uniqueDocs |
Não |
Índices e propriedades de índice
O Firestore com compatibilidade com o MongoDB suporta os seguintes índices e operadores de índice.
Índices
| Tipo de índice |
Suportado |
| 2d |
Não |
| 2dsphere |
Não |
| Complexo |
Sim |
| Com hash |
Não |
| Multikey |
Sim |
| Campo único |
Sim |
| Texto |
Não |
Propriedades do índice
| Propriedade |
Suportado |
| Contexto |
Sim |
| Não é sensível a maiúsculas e minúsculas |
Não |
| Oculto |
Não |
| Parcial |
Não |
| Não esparso |
Sim |
| Escasso |
Sim |
| Texto |
Não |
| TTL |
Não |
| únicas |
Sim |
| Caráter universal |
Não |
Comandos de base de dados
O Firestore com compatibilidade com o MongoDB suporta os seguintes comandos de base de dados.
Agregação
| Command |
Suportado |
aggregate |
Sim |
count |
Sim |
distinct |
Sim |
group |
Não
A fase $group nas agregações é suportada, ao passo que o comando group não é.
|
mapReduce |
Não |
Autenticação
| Command |
Suportado |
authenticate |
Não |
getnonce |
Não |
logout |
Não |
Operações de consulta e escrita
| Command |
Suportado |
watch (Alterar streams) |
Não |
delete |
Sim |
eval |
Não |
find |
Sim |
findAndModify |
Sim |
getLastError |
Sim |
getMore |
Sim |
getPrevError |
Não |
GridFS |
Não |
insert |
Sim |
parallelCollectionScan |
Não |
replaceOne |
Não
O método do controlador replaceOne é suportado com o comando update.
|
resetError |
Não |
update |
Sim |
Comandos de sessão
| Command |
Suportado |
abortTransaction |
Sim |
commitTransaction |
Sim |
endSessions |
Sim |
killAllSessions |
Não |
killAllSessionsByPattern |
Não |
killSessions |
Não |
refreshSessions |
Não |
startSession |
As sessões podem ser iniciadas através do método de controlador startSession. |
Comandos administrativos
O Firestore com compatibilidade com o MongoDB suporta os seguintes comandos administrativos.
| Command |
Suportado |
cloneCollectionAsCapped |
Não |
collMod |
Não |
collMod: expireAfterSeconds |
Não |
convertToCapped |
Não |
copydb |
Não |
create |
Sim |
createIndex |
Sim Para criar índices, consulte o artigo Faça a gestão dos índices. |
createIndexes |
Sim Para criar índices, consulte o artigo Faça a gestão dos índices. |
createView |
Não |
currentOp |
Não |
drop |
Não |
dropDatabase |
Não Para eliminar uma base de dados, consulte o artigo Elimine uma base de dados. |
dropIndex |
Sim Para eliminar índices, consulte o artigo Faça a gestão dos índices. |
dropIndexes |
Não |
filemd5 |
Não |
getAuditConfig |
Não |
killCursors |
Sim |
killOp |
Não |
listCollections |
Sim |
listDatabases |
Sim |
listIndexes |
Sim |
reIndex |
Não |
renameCollection |
Não |
setAuditConfig |
Não |
Comandos de diagnóstico
| Command |
Suportado |
buildInfo |
Sim |
collStats |
Não |
connectionStatus |
Sim |
connPoolStats |
Não |
dataSize |
Não |
dbHash |
Não |
dbStats |
Não |
explain |
Sim Para ver as diferenças de comportamento e as limitações, consulte o artigo Explicação de consultas |
features |
Não |
hello |
Sim |
hostInfo |
Sim |
listCommands |
Não |
profiler |
Não |
serverStatus |
Não |
top |
Não |
whatsmyuri |
Não |
Comandos de gestão de funções
Para gerir o acesso à base de dados, o Firestore com compatibilidade com o MongoDB suporta funções e autorizações da gestão de identidade e de acesso.
| Command |
Suportado |
createRole |
Não |
dropAllRolesFromDatabase |
Não |
dropRole |
Não |
grantRolesToRole |
Não |
revokePrivilegesFromRole |
Não |
revokeRolesFromRole |
Não |
rolesInfo |
Não |
updateRole |
Não |
O que se segue?