Fonctionnalités compatibles : 4.0
Les tableaux suivants incluent une répartition des fonctionnalités MongoDB 4.0 compatibles avec Firestore avec compatibilité MongoDB. Pour en savoir plus sur les différences de comportement, consultez Différences de comportement.
Opérateurs de requête et de projection
Firestore compatible avec MongoDB accepte les opérateurs de requête et de projection suivants :
Opérateurs de tableau
| Opérateur |
Compatible |
$all |
Oui |
$elemMatch |
Oui |
$size |
Oui |
Opérateurs bit à bit
| Opérateur |
Compatible |
$bitsAllClear |
Non |
$bitsAllSet |
Non |
$bitsAnyClear |
Non |
$bitsAnySet |
Non |
| Opérateur |
Compatible |
$comment |
Non |
Opérateurs de comparaison
| Opérateur |
Compatible |
$eq |
Oui |
$gt |
Oui |
$gte |
Oui |
$in |
Oui |
$lt |
Oui |
$lte |
Oui |
$ne |
Oui |
$nin |
Oui |
Opérateurs d'éléments
| Opérateur |
Compatible |
$exists |
Oui |
$type |
Oui |
Opérateurs de requête d'évaluation
| Opérateur |
Compatible |
$expr |
Oui |
$jsonSchema |
Non |
$mod |
Oui |
$regex |
Oui |
$text |
Oui |
$where |
Non |
Opérateurs logiques
| Opérateur |
Compatible |
$and |
Oui |
$nor |
Oui |
$not |
Oui |
$or |
Oui |
Opérateurs de projection
| Opérateur |
Compatible |
$ |
Oui |
$elemMatch |
Oui |
$meta |
Partielle (compatible avec "textScore") |
$slice |
Oui |
Modifier les opérateurs
Firestore compatible avec MongoDB accepte les opérateurs de mise à jour suivants.
Opérateurs de tableau
| Opérateur |
Compatible |
$ |
Oui |
$[] |
Oui |
$[<identifier>] |
Oui |
$addToSet |
Oui |
$pop |
Oui |
$pull |
Oui |
$pullAll |
Oui |
$push |
Oui |
Opérateurs bit à bit
| Opérateur |
Compatible |
$bit |
Oui |
Opérateurs de terrain
| Opérateur |
Compatible |
$currentDate |
Oui |
$inc |
Oui |
$max |
Oui |
$min |
Oui |
$mul |
Oui |
$rename |
Oui |
$setOnInsert |
Oui |
Mettre à jour les modificateurs
| Modificateur |
Compatible |
$each |
Oui |
$position |
Oui |
$slice |
Oui |
$sort |
Oui |
Opérateurs de pipeline d'agrégation
Firestore compatible avec MongoDB accepte les opérateurs de pipeline d'agrégation suivants.
Accumulateurs
| Expression |
Compatible |
$addToSet |
Oui |
$avg |
Oui |
$first |
Oui |
$last |
Oui |
$max |
Oui |
$mergeObjects |
Oui |
$min |
Oui |
$push |
Oui |
$stdDevPop |
Non |
$stdDevSamp |
Non |
$sum |
Oui |
Expressions d'accumulateur
| Expression |
Compatible |
$avg |
Oui |
$first |
Oui |
$last |
Oui |
$max |
Oui |
$min |
Oui |
$stdDevPop |
Non |
$stdDevSamp |
Non |
$sum |
Oui |
Opérateurs arithmétiques
Limites : les opérateurs arithmétiques ne sont pas compatibles avec les valeurs decimal128.
| Opérateur |
Compatible |
$abs |
Oui |
$add |
Oui |
$ceil |
Oui |
$divide |
Oui |
$exp |
Oui |
$floor |
Oui |
$ln |
Oui |
$log |
Oui |
$log10 |
Oui |
$mod |
Oui |
$multiply |
Oui |
$pow |
Oui |
$sqrt |
Oui |
$subtract |
Oui |
$trunc |
Oui |
Opérateurs de tableau
| Opérateur |
Compatible |
$arrayElemAt |
Oui |
$arrayToObject |
Oui |
$concatArrays |
Oui |
$filter |
Oui |
$firstN |
Oui |
$in |
Oui |
$indexOfArray |
Oui |
$isArray |
Oui |
$map |
Oui |
$objectToArray |
Oui |
$range |
Oui |
$reduce |
Oui |
$reverseArray |
Oui |
$size |
Oui |
$slice |
Oui |
$zip |
Oui |
Opérateurs booléens
| Opérateur |
Compatible |
$and |
Oui |
$not |
Oui |
$or |
Oui |
Opérateurs de comparaison
| Opérateur |
Compatible |
$cmp |
Oui |
$eq |
Oui |
$gt |
Oui |
$gte |
Oui |
$lt |
Oui |
$lte |
Oui |
$ne |
Oui |
Opérateurs d'expression conditionnelle
| Opérateur |
Compatible |
$cond |
Oui |
$ifNull |
Oui |
$switch |
Oui |
Opérateurs de date
| Opérateur |
Compatible |
$dateFromParts |
Oui |
$dateFromString |
Oui |
$dateToParts |
Oui |
$dateToString |
Oui |
$dayOfMonth |
Oui |
$dayOfWeek |
Oui |
$dayOfYear |
Oui |
$hour |
Oui |
$isoDayOfWeek |
Oui |
$isoWeek |
Oui |
$isoWeekYear |
Oui |
$millisecond |
Oui |
$minute |
Oui |
$month |
Oui |
$second |
Oui |
$toDate |
Oui |
$week |
Oui |
$year |
Oui |
Opérateurs divers
| Opérateur |
Compatible |
$natural |
Oui (ordre croissant) |
$toHashedIndexKey |
Non |
Opérateurs d'expression littérale
| Opérateur |
Compatible |
$literal |
Oui |
Opérateurs d'objets
| Opérateur |
Compatible |
$mergeObjects |
Oui |
$objectToArray |
Oui |
Opérateurs d'ensemble
| Opérateur |
Compatible |
$allElementsTrue |
Oui |
$anyElementTrue |
Oui |
$setDifference |
Oui |
$setEquals |
Oui |
$setIntersection |
Oui |
$setIsSubset |
Oui |
$setUnion |
Oui |
Opérateurs d'étape
| Opérateur |
Compatible |
$addFields |
Oui |
$bucket |
Oui |
$bucketAuto |
Non |
$collStats |
Oui |
$count |
Oui |
$currentOp |
Non |
$facet |
Oui |
$geoNear |
Non |
$graphLookup |
Non |
$group |
Oui |
$indexStats |
Non |
$limit |
Oui |
$listLocalSessions |
Non |
$listSessions |
Non |
$lookup |
Oui
|
$match |
Oui |
$out |
Non |
$project |
Oui |
$redact |
Non |
$replaceRoot |
Oui |
$sample |
Oui |
$set |
Oui |
$skip |
Oui |
$sort |
Oui |
$sortByCount |
Oui |
$unset |
Oui |
$unwind |
Oui |
Opérateurs de chaîne
| Opérateur |
Compatible |
$concat |
Oui |
$dateFromString |
Oui |
$dateToString |
Oui |
$indexOfBytes |
Oui |
$indexOfCP |
Oui |
$ltrim |
Oui |
$rtrim |
Oui |
$split |
Oui |
$strcasecmp |
Oui |
$strLenBytes |
Oui |
$strLenCP |
Oui |
$substr |
Oui |
$substrBytes |
Oui |
$substrCP |
Oui |
$toLower |
Oui |
$toString |
Oui |
$toUpper |
Oui |
$trim |
Oui |
Variables système
| Variable |
Compatible |
$$CURRENT |
No |
$$DESCEND |
Non |
$$KEEP |
No |
$$PRUNE |
Non |
$$REMOVE |
Yes |
$$ROOT |
Oui |
Opérateurs de texte
| Opérateur |
Compatible |
$meta |
Oui |
Opérateurs de type
| Opérateur |
Compatible |
$convert |
Oui |
$toBool |
Oui |
$toDate |
Oui |
$toDecimal |
Oui |
$toDouble |
Oui |
$toInt |
Oui |
$toLong |
Oui |
$toObjectId |
Oui |
$toString |
Oui |
$type |
Oui |
Opérateurs de variable
| Opérateur |
Compatible |
$let |
Oui |
Géomatique
Firestore compatible avec MongoDB accepte les opérateurs géospatiaux suivants.
Spécificateurs de géométrie
| Spécificateur |
Compatible |
$box |
Non |
$center |
Non |
$centerSphere |
Non |
$geometry |
Non |
$maxDistance |
Non |
$minDistance |
Non |
$polygon |
Non |
$uniqueDocs |
Non |
Sélecteurs de requête
| Sélecteur |
Compatible |
$geoIntersects |
Non |
$geoWithin |
Non |
$near |
Oui |
$nearSphere |
Non |
$nearSphere |
Non |
$uniqueDocs |
Non |
Index et propriétés d'index
Firestore compatible avec MongoDB accepte les index et opérateurs d'index suivants.
Index
| Type d'index |
Compatible |
| 2d |
Non |
| 2dsphere |
Oui |
| Éléments géographiques multifonctionnels |
Oui |
| Hachées |
Non |
| Multiclés |
Oui |
| Champ individuel |
Oui |
| Texte |
Oui |
Propriétés d'index
| Propriété |
Compatible |
| Arrière-plan |
Oui |
| Non sensible à la casse |
Non |
| Partielle |
Non |
| Non creuse |
Oui |
| Dispersé |
Oui |
| Texte |
Oui |
| Valeur TTL |
Oui |
| Unique |
Oui |
Commandes de base de données
Firestore compatible avec MongoDB accepte les commandes de base de données suivantes.
Agrégation
| Commande |
Compatible |
aggregate |
Oui |
count |
Oui |
distinct |
Oui |
group |
Non
L'étape $group des agrégations est acceptée, mais pas la commande group.
|
mapReduce |
Non |
Authentification
| Commande |
Compatible |
authenticate |
Non |
getnonce |
Non |
logout |
Non |
Opérations de requête et d'écriture
| Commande |
Compatible |
watch (flux de modifications) |
Non |
delete |
Oui |
eval |
Non |
find |
Oui |
findAndModify |
Oui |
getLastError |
Oui |
getMore |
Oui |
getPrevError |
Non |
GridFS |
Non |
insert |
Oui |
parallelCollectionScan |
Non |
replaceOne |
Non
La méthode de pilote replaceOne est compatible avec la commande update.
|
resetError |
Non |
update |
Oui |
Commandes de session
| Commande |
Compatible |
abortTransaction |
Oui |
commitTransaction |
Oui |
endSessions |
Oui |
killAllSessions |
Non |
killAllSessionsByPattern |
Non |
killSessions |
Non |
refreshSessions |
Non |
startSession |
Les sessions peuvent être démarrées à l'aide de la méthode de pilote startSession. |
Commandes d'administration
Firestore compatible avec MongoDB accepte les commandes d'administration suivantes.
| Commande |
Compatible |
cloneCollectionAsCapped |
Non |
collMod |
Non |
collMod: expireAfterSeconds |
Non |
convertToCapped |
Non |
copydb |
Non |
create |
Oui |
createIndex |
Oui |
createIndexes |
Oui |
createView |
Non |
currentOp |
Non |
drop |
Oui |
dropDatabase |
Non Pour supprimer une base de données, consultez Supprimer une base de données. |
dropIndex |
Oui Pour supprimer des index, consultez Gérer les index. |
dropIndexes |
Non |
filemd5 |
Non |
killCursors |
Oui |
killOp |
Non |
listCollections |
Oui |
listDatabases |
Oui |
listIndexes |
Oui |
reIndex |
Non |
renameCollection |
Non |
setAuditConfig |
Non |
Commandes de diagnostic
| Commande |
Compatible |
buildInfo |
Oui |
collStats |
Oui |
connectionStatus |
Oui |
connPoolStats |
Non |
dataSize |
Non |
dbHash |
Non |
dbStats |
Non |
explain |
Oui Pour en savoir plus sur les différences de comportement et les limites, consultez Query Explain. |
features |
Non |
hostInfo |
Oui |
listCommands |
Non |
profiler |
Non |
serverStatus |
Non |
top |
Non |
whatsmyuri |
Non |
Commandes de gestion des utilisateurs
Pour gérer l'accès à la base de données, consultez les ressources suivantes :
| Commande |
Compatible |
createUser |
Non |
dropAllUsersFromDatabase |
Non |
dropUser |
Non |
grantRolesToUser |
Non |
revokeRolesFromUser |
Non |
updateUser |
Non |
usersInfo |
Non |
Commandes de gestion des rôles
Pour gérer l'accès à la base de données, consultez les ressources suivantes :
| Commande |
Compatible |
createRole |
Non |
dropRole |
Non |
dropAllRolesFromDatabase |
Non |
grantPrivilegesToRole |
Non |
grantRolesToRole |
Non |
invalidateUserCache |
Non |
revokePrivilegesFromRole |
Non |
revokeRolesFromRole |
Non |
rolesInfo |
Non |
updateRole |
Non |
Étapes suivantes