支持的功能:6.0

以下表格详细列出了 Cloud Firestore 支持的 MongoDB 4.0 功能。如需了解行为差异,请参阅行为差异。

查询和投影运算符

Cloud Firestore 支持以下查询和投影运算符:

数组运算符

运算符 支持
$all 是
$elemMatch 是
$size 是

按位运算符

运算符 支持
$bitsAllClear 否
$bitsAllSet 否
$bitsAnyClear 否
$bitsAnySet 否

注释运算符

运算符 支持
$comment 否

比较运算符

运算符 支持
$eq 是
$gt 是
$gte 是
$in 是
$lt 是
$lte 是
$ne 是
$nin 是

元素运算符

运算符 支持
$exists 是
$type 是

评估查询运算符

运算符 支持
$expr 是
$jsonSchema 否
$mod 是
$regex 是
$text 否
$where 否

逻辑运算符

运算符 支持
$and 是
$nor 是
$not 是
$or 是

投影运算符

运算符 支持
$ 是
$elemMatch 是
$meta 部分支持(支持 `textScore`)
$slice 是

更新运算符

Cloud Firestore 支持以下更新运算符。

数组运算符

运算符 支持
$ 是
$[] 是
$[<identifier>] 是
$addToSet 是
$pop 是
$pull 是
$pullAll 是
$push 是

按位运算符

运算符 支持
$bit 是

字段运算符

运算符 支持
$currentDate 是
$inc 是
$max 是
$min 是
$mul 是
$rename 是
$setOnInsert 是

更新修饰符

修饰符 支持
$each 是
$position 是
$slice 是
$sort 是

聚合流水线运算符

Cloud Firestore 支持以下聚合流水线运算符。

累加器

表达式 支持
$addToSet 是
$avg 是
$count 是
$first 是
$last 是
$max 是
$mergeObjects 是
$min 是
$push 是
$stdDevPop 否
$stdDevSamp 否
$sum 是

累加器表达式

表达式 支持
$avg 是
$first 是
$last 是
$max 是
$min 是
$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 是
$map 是
$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 是
$toDate 是
$week 是
$year 是

其他运算符

运算符 支持
$getField 是
$natural 是(升序)
$toHashedIndexKey 否

字面量表达式运算符

运算符 支持
$literal 是

对象运算符

运算符 支持
$mergeObjects 是
$objectToArray 是
$setField 否

集合运算符

运算符 支持
$allElementsTrue 是
$anyElementTrue 是
$setDifference 是
$setEquals 是
$setIntersection 是
$setIsSubset 是
$setUnion 是

阶段运算符

运算符 支持
$addFields 是
$bucket 是
$bucketAuto 否
$collStats 否
$count 是
$currentOp 否
$documents 是
$facet 是
$geoNear 否
$graphLookup 否
$group 是
$indexStats 否
$limit 是
$listLocalSessions 否
$listSessions 否
$lookup

是

不支持 let 和 pipeline 字段。

$match 是
$out 否
$project 是
$redact 否
$replaceRoot 是
$sample 是
$set 是
$setWindowFields 否
$skip 是
$sort 是
$sortByCount 是
$unset 是
$unwind 是

字符串运算符

运算符 支持
$concat 是
$dateFromString 是
$dateToString 是
$indexOfBytes 是
$indexOfCP 是
$ltrim 是
$rtrim 是
$split 是
$strcasecmp 是
$strLenBytes 是
$strLenCP 是
$substr 是
$substrBytes 是
$substrCP 是
$toLower 是
$toString 是
$toUpper 是
$trim 是

系统变量

变量 支持
$$CURRENT No
$$DESCEND 否
$$KEEP No
$$PRUNE 否
$$REMOVE Yes
$$ROOT 是

文本运算符

运算符 支持
$meta 否

类型运算符

运算符 支持
$convert 是
$toBool 是
$toDate 是
$toDecimal 是
$toDouble 是
$toInt 是
$toLong 是
$toObjectId 是
$toString 是
$type 是

变量运算符

运算符 支持
$let 是

地理空间

Cloud Firestore 支持以下地理空间运算符。

几何图形说明符

说明符 支持
$box 否
$center 否
$centerSphere 否
$geometry 否
$maxDistance 否
$minDistance 否
$polygon 否
$uniqueDocs 否

查询选择器

选择器 支持
$geoIntersects 否
$geoWithin 否
$near 否
$nearSphere 否
$nearSphere 否
$uniqueDocs 否

索引和索引属性

Cloud Firestore 支持以下索引和索引运算符。

索引

索引类型 支持
2 天 否
2dsphere 否
建筑 是
经过哈希处理 否
多键 是
单字段 是
文本 否

索引属性

属性 支持
背景 是
不区分大小写 否
部分 否
非稀疏 是
稀疏 是
文本 否
TTL 是
唯一 是
向量 否

数据库命令

Cloud Firestore 支持以下数据库命令。

汇总

命令 支持
aggregate 是
count 是
distinct 是
group

否

聚合中的 $group 阶段受支持,但 group 命令不受支持。

mapReduce 否

身份验证

命令 支持
authenticate 否
getnonce 否
logout 否

查询和写入操作

命令 支持
watch(变更数据流) 否
delete 是
eval 否
find 是
findAndModify 是
getLastError 是
getMore 是
getPrevError 否
GridFS 否
insert 是
parallelCollectionScan 否
replaceOne

否

update 命令支持 replaceOne 驱动程序方法。

resetError 否
update 是

会话命令

命令 支持
abortTransaction 是
commitTransaction 是
endSessions 是
killAllSessions 否
killAllSessionsByPattern 否
killSessions 否
refreshSessions 否
startSession

可以使用 startSession 驱动程序方法启动会话。

管理命令

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 否

角色管理命令

为了管理数据库访问权限,Cloud Firestore 支持 Identity and Access Management 角色和权限。

命令 支持
createRole 否
dropAllRolesFromDatabase 否
dropRole 否
grantRolesToRole 否
revokePrivilegesFromRole 否
revokeRolesFromRole 否
rolesInfo 否
updateRole 否

后续步骤