Recursos compatíveis: 5.0

As tabelas a seguir incluem um detalhamento dos recursos do MongoDB 4.0 compatíveis com o Cloud Firestore com compatibilidade com o MongoDB. Para saber as diferenças de comportamento, consulte Diferenças de comportamento.

Operadores de consulta e projeção

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes operadores de consulta e projeção:

Operadores de matriz

Operador Compatível
$all Sim
$elemMatch Sim
$size Sim

Operadores bit a bit

Operador Compatível
$bitsAllClear Não
$bitsAllSet Não
$bitsAnyClear Não
$bitsAnySet Não

Operador de comentários

Operador Compatível
$comment Não

Operadores de comparação

Operador Compatível
$eq Sim
$gt Sim
$gte Sim
$in Sim
$lt Sim
$lte Sim
$ne Sim
$nin Sim

Operadores de elemento

Operador Compatível
$exists Sim
$type Sim

Operadores de consulta de avaliação

Operador Compatível
$expr Sim
$jsonSchema Não
$mod Sim
$regex Sim
$text Não
$where Não

Operadores lógicos

Operador Compatível
$and Sim
$nor Sim
$not Sim
$or Sim

Operadores de projeção

Operador Compatível
$ Sim
$elemMatch Sim
$meta Não
$slice Sim

Atualizar operadores

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes operadores de atualização.

Operadores de matriz

Operador Compatível
$ Sim
$[] Sim
$[<identifier>] Sim
$addToSet Sim
$pop Sim
$pull Sim
$pullAll Sim
$push Sim

Operadores bit a bit

Operador Compatível
$bit Sim

Operadores de campo

Operador Compatível
$currentDate Sim
$inc Sim
$max Sim
$min Sim
$mul Sim
$rename Sim
$setOnInsert Sim

Atualizar modificadores

Modificador Compatível
$each Sim
$position Sim
$slice Sim
$sort Sim

Operadores de pipeline de agregação

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes operadores de pipeline de agregação.

Expressões de acumulador

Expressão Compatível
$addToSet Sim
$avg Sim
$count Sim
$first Sim
$last Sim
$max Sim
$min Sim
$push Sim
$stdDevPop Não
$stdDevSamp Não
$sum Sim

Operadores aritméticos

Limitações: os operadores aritméticos não são compatíveis com valores decimal128.

Operador Compatível
$abs Sim
$add Sim
$ceil Sim
$divide Sim
$exp Sim
$floor Sim
$ln Sim
$log Sim
$log10 Sim
$mod Sim
$multiply Sim
$pow Sim
$sqrt Sim
$subtract Sim
$trunc Sim

Operadores de matriz

Operador Compatível
$arrayElemAt Sim
$arrayToObject Sim
$concatArrays Sim
$filter Sim
$firstN Sim
$in Sim
$indexOfArray Sim
$isArray Sim
$objectToArray Sim
$range Sim
$reduce Sim
$reverseArray Sim
$size Sim
$slice Sim
$zip Sim

Operadores booleanos

Operador Compatível
$and Sim
$not Sim
$or Sim

Operadores de comparação

Operador Compatível
$cmp Sim
$eq Sim
$gt Sim
$gte Sim
$lt Sim
$lte Sim
$ne Sim

Operadores de expressão condicional

Operador Compatível
$cond Sim
$ifNull Sim
$switch Sim

Operadores de data

Operador Compatível
$dateAdd Não
$dateDiff Não
$dateFromParts Não
$dateFromString Sim
$dateSubtract Não
$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
$week Sim
$year Sim

Operadores diversos

Operador Compatível
$getField Sim
$literal Sim
$mergeObjects Sim
$natural Sim (crescente)

Operadores de conjunto

Operador Compatível
$allElementsTrue Sim
$anyElementTrue Sim
$setDifference Sim
$setEquals Sim
$setIntersection Sim
$setIsSubset Sim
$setUnion Sim
$setWindowFields Não

Operadores de estágio

Operador Compatível
$addFields Sim
$bucket Sim
$bucketAuto Não
$collStats Não
$count Sim
$currentOp Não
$facet Não
$geoNear Não
$graphLookup Não
$group Sim
$indexStats Não
$limit Sim
$listLocalSessions Não
$listSessions Não
$lookup Sim
$match Sim
$out Não
$project Sim
$redact Não
$replaceRoot Sim
$sample Não
$set Sim
$setWindowFields Não
$skip Sim
$sort Sim
$sortByCount Sim
$unset Sim
$unwind Sim

Operadores de string

Operador Compatível
$concat Sim
$indexOfBytes Sim
$indexOfCP Sim
$ltrim Sim
$rtrim Sim
$split Sim
$strcasecmp Sim
$strLenBytes Sim
$strLenCP Sim
$substr Sim
$substrBytes Sim
$substrCP Sim
$toLower Sim
$toUpper Sim
$trim Sim

Variáveis de sistema

Variável Compatível
$$CURRENT No
$$DESCEND Não
$$KEEP No
$$PRUNE Não
$$REMOVE Yes
$$ROOT Sim

Operadores de pesquisa de texto

Operador Compatível
$meta Não

Operadores de conversão de tipo

Operador Compatível
$convert Sim
$toBool Sim
$toDate Sim
$toDecimal Sim
$toDouble Sim
$toInt Sim
$toLong Sim
$toObjectId Sim
$toString Sim
$type Sim

Operadores de variáveis

Operador Compatível
$let Sim
$map Sim

Geoespacial

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes operadores geoespaciais.

Especificadores de geometria

Especificador Compatível
$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 consulta

Seletor Compatível
$geoIntersects Não
$geoWithin Não
$near Não
$nearSphere Não
$nearSphere Não
$uniqueDocs Não

Índices e propriedades de índice

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes índices e operadores de índice.

Índices

Tipo de índice Compatível
2d Não
2dsphere Não
Complexo Sim
Em hash Não
Várias chaves Sim
Campo individual Sim
Texto Não

Propriedades do índice

Propriedade Compatível
Segundo plano Sim
Não diferencia maiúsculas de minúsculas Não
Parcial Não
Não esparso Sim
Esparsa Sim
Texto Não
TTL Não
Único Sim

Comandos do banco de dados

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes comandos de banco de dados.

Agregação

Comando Compatível
aggregate Sim
count Sim
distinct Sim
group

Não

A etapa $group em agregações é compatível, mas o comando de grupo, não.

mapReduce Não

Autenticação

Comando Compatível
authenticate Não
getnonce Não
logout Não

Operações de consulta e gravação

Comando Compatível
watch (fluxo de alterações) 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 de driver replaceOne é compatível com o comando update.

resetError Não
update Sim

Comandos de sessão

Comando Compatível
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 usando o método de driver startSession.

Comandos administrativos

O Cloud Firestore com compatibilidade com o MongoDB oferece suporte aos seguintes comandos administrativos.

Comando Compatível
cloneCollectionAsCapped Não
collMod Não
collMod: expireAfterSeconds Não
convertToCapped Não
copydb Não
create Sim
createIndex

Sim

Para criar índices, consulte Gerenciar índices.

createIndexes

Sim

Para criar índices, consulte Gerenciar índices.

createView Não
currentOp Não
drop Não
dropDatabase

Não

Para excluir um banco de dados, consulte Excluir um banco de dados.

dropIndex

Sim

Para excluir índices, consulte Gerenciar í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

Comando Compatível
buildInfo Sim
collStats Não
connectionStatus Sim
connPoolStats Não
dataSize Não
dbHash Não
dbStats Não
explain

Sim

Para conferir as diferenças de comportamento e limitações, consulte 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 gerenciamento de papéis

Para gerenciar o acesso ao banco de dados, o Cloud Firestore com compatibilidade com o MongoDB oferece suporte a papéis e permissões do Identity and Access Management.

Comando Compatível
createRole Não
dropAllRolesFromDatabase Não
dropRole Não
grantRolesToRole Não
revokePrivilegesFromRole Não
revokeRolesFromRole Não
rolesInfo Não
updateRole Não

A seguir