支持的功能:6.0
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
下表详细列出了与 MongoDB 兼容的 Cloud Firestore 支持的 MongoDB 4.0 功能。如需了解行为差异,请参阅
行为差异。
查询和投影运算符
与 MongoDB 兼容的 Cloud Firestore 支持以下查询和投影运算符:
数组运算符
运算符 |
支持 |
$all |
是 |
$elemMatch |
是 |
$size |
是 |
按位运算符
运算符 |
支持 |
$bitsAllClear |
否 |
$bitsAllSet |
否 |
$bitsAnyClear |
否 |
$bitsAnySet |
否 |
比较运算符
运算符 |
支持 |
$eq |
是 |
$gt |
是 |
$gte |
是 |
$in |
是 |
$lt |
是 |
$lte |
是 |
$ne |
是 |
$nin |
是 |
元素运算符
评估查询运算符
运算符 |
支持 |
$expr |
是 |
$jsonSchema |
否 |
$mod |
是 |
$regex |
是 |
$text |
否 |
$where |
否 |
逻辑运算符
运算符 |
支持 |
$and |
是 |
$nor |
是 |
$not |
是 |
$or |
是 |
投影运算符
运算符 |
支持 |
$ |
是 |
$elemMatch |
是 |
$meta |
否 |
$slice |
是 |
更新运营商
与 MongoDB 兼容的 Cloud Firestore 支持以下更新运算符。
数组运算符
运算符 |
支持 |
$ |
是 |
$[] |
是 |
$[<identifier>] |
是 |
$addToSet |
是 |
$pop |
是 |
$pull |
是 |
$pullAll |
是 |
$push |
是 |
按位运算符
现场操作员
运算符 |
支持 |
$currentDate |
是 |
$inc |
是 |
$max |
是 |
$min |
是 |
$mul |
是 |
$rename |
是 |
$setOnInsert |
是 |
更新了修饰符
修饰符 |
支持 |
$each |
是 |
$position |
是 |
$slice |
是 |
$sort |
是 |
聚合流水线运算符
与 MongoDB 兼容的 Cloud Firestore 支持以下聚合管道运算符。
累加器表达式
表达式 |
支持 |
$addToSet |
是 |
$avg |
是 |
$count |
是 |
$first |
是 |
$last |
是 |
$max |
是 |
$min |
是 |
$push |
是 |
$stdDevPop |
否 |
$stdDevSamp |
否 |
$sum |
是 |
算术运算符
限制:算术运算符不支持 decimal128
值。
运算符 |
支持 |
$abs |
是 |
$add |
是 |
$ceil |
是 |
$divide |
是 |
$exp |
是 |
$floor |
是 |
$ln |
是 |
$log |
是 |
$log10 |
是 |
$mod |
是 |
$multiply |
是 |
$pow |
是 |
$sqrt |
是 |
$subtract |
是 |
$trunc |
是 |
数组运算符
运算符 |
支持 |
$arrayElemAt |
是 |
$arrayToObject |
是 |
$concatArrays |
是 |
$filter |
是 |
$firstN |
是 |
$in |
是 |
$indexOfArray |
是 |
$isArray |
是 |
$objectToArray |
是 |
$range |
是 |
$reduce |
是 |
$reverseArray |
是 |
$size |
是 |
$slice |
是 |
$zip |
是 |
布尔运算符
运算符 |
支持 |
$and |
是 |
$not |
是 |
$or |
是 |
比较运算符
运算符 |
支持 |
$cmp |
是 |
$eq |
是 |
$gt |
是 |
$gte |
是 |
$lt |
是 |
$lte |
是 |
$ne |
是 |
条件表达式运算符
运算符 |
支持 |
$cond |
是 |
$ifNull |
是 |
$switch |
是 |
日期运算符
运算符 |
支持 |
$dateAdd |
否 |
$dateDiff |
否 |
$dateFromParts |
否 |
$dateFromString |
是 |
$dateSubtract |
否 |
$dateToParts |
是 |
$dateToString |
是 |
$dateTrunc |
是 |
$dayOfMonth |
是 |
$dayOfWeek |
是 |
$dayOfYear |
是 |
$hour |
是 |
$isoDayOfWeek |
是 |
$isoWeek |
是 |
$isoWeekYear |
是 |
$millisecond |
是 |
$minute |
是 |
$month |
是 |
$second |
是 |
$week |
是 |
$year |
是 |
其他运算符
运算符 |
支持 |
$getField |
是 |
$literal |
是 |
$mergeObjects |
是 |
$natural |
是(升序) |
集合运算符
运算符 |
支持 |
$allElementsTrue |
是 |
$anyElementTrue |
是 |
$setDifference |
是 |
$setEquals |
是 |
$setIntersection |
是 |
$setIsSubset |
是 |
$setUnion |
是 |
$setWindowFields |
否 |
舞台操作员
运算符 |
支持 |
$addFields |
是 |
$bucket |
是 |
$bucketAuto |
否 |
$collStats |
否 |
$count |
是 |
$currentOp |
否 |
$documents |
是 |
$facet |
否 |
$geoNear |
否 |
$graphLookup |
否 |
$group |
是 |
$indexStats |
否 |
$limit |
是 |
$listLocalSessions |
否 |
$listSessions |
否 |
$lookup |
是 |
$match |
是 |
$out |
否 |
$project |
是 |
$redact |
否 |
$replaceRoot |
是 |
$sample |
否 |
$set |
是 |
$setWindowFields |
否 |
$skip |
是 |
$sort |
是 |
$sortByCount |
是 |
$unset |
是 |
$unwind |
是 |
字符串运算符
运算符 |
支持 |
$concat |
是 |
$indexOfBytes |
是 |
$indexOfCP |
是 |
$ltrim |
是 |
$rtrim |
是 |
$split |
是 |
$strcasecmp |
是 |
$strLenBytes |
是 |
$strLenCP |
是 |
$substr |
是 |
$substrBytes |
是 |
$substrCP |
是 |
$toLower |
是 |
$toUpper |
是 |
$trim |
是 |
系统变量
变量 |
支持 |
$$CURRENT |
No |
$$DESCEND |
否 |
$$KEEP |
No |
$$PRUNE |
否 |
$$REMOVE |
Yes |
$$ROOT |
是 |
文本搜索运算符
类型转换运算符
运算符 |
支持 |
$convert |
是 |
$toBool |
是 |
$toDate |
是 |
$toDecimal |
是 |
$toDouble |
是 |
$toInt |
是 |
$toLong |
是 |
$toObjectId |
是 |
$toString |
是 |
$type |
是 |
变量运算符
地理空间
与 MongoDB 兼容的 Cloud Firestore 支持以下地理空间运算符。
几何说明符
指定器 |
支持 |
$box |
否 |
$center |
否 |
$centerSphere |
否 |
$geometry |
否 |
$maxDistance |
否 |
$minDistance |
否 |
$polygon |
否 |
$uniqueDocs |
否 |
查询选择器
选择器 |
支持 |
$geoIntersects |
否 |
$geoWithin |
否 |
$near |
否 |
$nearSphere |
否 |
$nearSphere |
否 |
$uniqueDocs |
否 |
索引和索引属性
与 MongoDB 兼容的 Cloud Firestore 支持以下索引和索引运算符。
索引
索引类型 |
支持 |
2 天 |
否 |
2dsphere |
否 |
建筑 |
是 |
经过哈希处理 |
否 |
多键 |
是 |
单字段 |
是 |
文字 |
否 |
索引属性
属性 |
支持 |
背景 |
是 |
不区分大小写 |
否 |
部分 |
否 |
非稀疏 |
是 |
稀疏 |
是 |
文字 |
否 |
TTL |
否 |
唯一 |
是 |
向量 |
否 |
数据库命令
与 MongoDB 兼容的 Cloud Firestore 支持以下数据库命令。
聚合
命令 |
支持 |
aggregate |
是 |
count |
是 |
distinct |
是 |
group |
否
聚合中的 $group 阶段受支持,但 group 命令不受支持。
|
mapReduce |
否 |
身份验证
命令 |
支持 |
authenticate |
否 |
getnonce |
否 |
logout |
否 |
查询和写入操作
命令 |
支持 |
watch (变更流) |
否 |
delete |
是 |
eval |
否 |
find |
是 |
findAndModify |
是 |
getLastError |
是 |
getMore |
是 |
getPrevError |
否 |
GridFS |
否 |
insert |
是 |
parallelCollectionScan |
否 |
replaceOne |
否
replaceOne 驱动程序方法支持 update 命令。
|
resetError |
否 |
update |
是 |
会话命令
命令 |
支持 |
abortTransaction |
是 |
commitTransaction |
是 |
endSessions |
是 |
killAllSessions |
否 |
killAllSessionsByPattern |
否 |
killSessions |
否 |
refreshSessions |
否 |
startSession |
可以使用 startSession 驱动程序方法启动会话。 |
管理命令
与 MongoDB 兼容的 Cloud Firestore 支持以下管理命令。
命令 |
支持 |
cloneCollectionAsCapped |
否 |
collMod |
否 |
collMod: expireAfterSeconds |
否 |
convertToCapped |
否 |
copydb |
否 |
create |
是 |
createIndex |
是 如需创建索引,请参阅管理索引。 |
createIndexes |
是 如需创建索引,请参阅管理索引。 |
createView |
否 |
currentOp |
否 |
drop |
否 |
dropDatabase |
否 如需删除数据库,请参阅删除数据库。 |
dropIndex |
是 如需删除索引,请参阅管理索引。 |
dropIndexes |
否 |
filemd5 |
否 |
getAuditConfig |
否 |
killCursors |
是 |
killOp |
否 |
listCollections |
是 |
listDatabases |
是 |
listIndexes |
是 |
reIndex |
否 |
renameCollection |
否 |
setAuditConfig |
否 |
诊断命令
命令 |
支持 |
buildInfo |
是 |
collStats |
否 |
connectionStatus |
是 |
connPoolStats |
否 |
dataSize |
否 |
dbHash |
否 |
dbStats |
否 |
explain |
是 如需了解行为差异和限制,请参阅查询说明 |
features |
否 |
hello |
是 |
hostInfo |
是 |
listCommands |
否 |
profiler |
否 |
serverStatus |
否 |
top |
否 |
whatsmyuri |
否 |
角色管理命令
为了管理数据库访问权限,与 MongoDB 兼容的 Cloud Firestore 支持 Identity and Access Management 角色和权限。
命令 |
支持 |
createRole |
否 |
dropAllRolesFromDatabase |
否 |
dropRole |
否 |
grantRolesToRole |
否 |
revokePrivilegesFromRole |
否 |
revokeRolesFromRole |
否 |
rolesInfo |
否 |
updateRole |
否 |
后续步骤