下表列出 Cloud Firestore 與 MongoDB 相容性支援的 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 支援下列彙整管道運算子。
累計器
  
    
      | Expression | 支援 | 
  
  
    
      | $addToSet | 是 | 
    
      | $avg | 是 | 
    
      | $count | 是 | 
    
      | $first | 是 | 
    
      | $last | 是 | 
    
      | $max | 是 | 
    
      | $mergeObjects | 是 | 
    
      | $min | 是 | 
    
      | $push | 是 | 
    
      | $stdDevPop | 否 | 
    
      | $stdDevSamp | 否 | 
    
      | $sum | 是 | 
  
累加器運算式
  
    
      | Expression | 支援 | 
  
  
    
      | $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 | 否 | 
  
常值運算式運算子
物件運算子
  
    
      | 運算子 | 支援 | 
  
  
    
      | $mergeObjects | 是 | 
    
      | $objectToArray | 是 | 
    
      | $setField | 否 | 
  
集合運算子
  
    
      | 運算子 | 支援 | 
  
  
    
      | $allElementsTrue | 是 | 
    
      | $anyElementTrue | 是 | 
    
      | $setDifference | 是 | 
    
      | $setEquals | 是 | 
    
      | $setIntersection | 是 | 
    
      | $setIsSubset | 是 | 
    
      | $setUnion | 是 | 
  
舞台經營者
  
    
      | 運算子 | 支援 | 
  
  
    
      | $addFields | 是 | 
    
      | $bucket | 是 | 
    
      | $bucketAuto | 否 | 
    
      | $collStats | 否 | 
    
      | $count | 是 | 
    
      | $currentOp | 否 | 
    
      | $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 | 是 | 
  
文字運算子
型別運算子
  
    
      | 運算子 | 支援 | 
  
  
    
      | $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 | 否 | 
    
      | 複合 | 是 | 
    
      | 已雜湊 | 否 | 
    
      | 多重金鑰 | 是 | 
    
      | 單一欄位 | 是 | 
    
      | 文字 | 否 | 
  
索引屬性
  
    
      | 屬性 | 支援 | 
  
  
    
      | 背景 | 是 | 
    
      | 不區分大小寫 | 否 | 
    
      | 部分 | 否 | 
    
      | 非稀疏 | 是 | 
    
      | 稀疏 | 是 | 
    
      | 文字 | 否 | 
    
      | 存留時間 | 否 | 
    
      | 不重複 | 是 | 
  
資料庫指令
與 MongoDB 相容的 Cloud Firestore 支援下列資料庫指令。
匯總
  
    
      | 指令 | 支援 | 
  
  
    
      | aggregate | 是 | 
    
      | count | 是 | 
    
      | distinct | 是 | 
    
      | 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 支援身分與存取權管理角色和權限。
  
    
      | 指令 | 支援 | 
  
  
    
      | createRole | 否 | 
    
      | dropAllRolesFromDatabase | 否 | 
    
      | dropRole | 否 | 
    
      | grantRolesToRole | 否 | 
    
      | revokePrivilegesFromRole | 否 | 
    
      | revokeRolesFromRole | 否 | 
    
      | rolesInfo | 否 | 
    
      | updateRole | 否 | 
  
後續步驟