Поддерживаемые функции: 5.0

В таблицах ниже представлен анализ функций MongoDB 4.0, поддерживаемых Cloud Firestore с совместимостью с MongoDB. Различия в поведении см. в разделе «Различия в поведении» .

Операторы запросов и проекций

Cloud Firestore с совместимостью с MongoDB поддерживает следующие операторы запросов и проекций:

Операторы массива

Оператор Поддерживается
$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 Нет
$slice Да

Операторы обновления

Cloud Firestore с совместимостью с MongoDB поддерживает следующие операторы обновления.

Операторы массива

Оператор Поддерживается
$ Да
$[] Да
$[<identifier>] Да
$addToSet Да
$pop Да
$pull Да
$pullAll Да
$push Да

Побитовые операторы

Оператор Поддерживается
$bit Да

Полевые операторы

Оператор Поддерживается
$currentDate Да
$inc Да
$max Да
$min Да
$mul Да
$rename Да
$setOnInsert Да

Модификаторы обновления

Модификатор Поддерживается
$each Да
$position Да
$slice Да
$sort Да

Операторы агрегационных трубопроводов

Cloud Firestore с совместимостью с MongoDB поддерживает следующие операторы конвейера агрегации.

Аккумуляторные выражения

Выражение Поддерживается
$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 Нет
$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 Да

Операторы текстового поиска

Оператор Поддерживается
$meta Нет

Операторы преобразования типов

Оператор Поддерживается
$convert Да
$toBool Да
$toDate Да
$toDecimal Да
$toDouble Да
$toInt Да
$toLong Да
$toObjectId Да
$toString Да
$type Да

Операторы переменных

Оператор Поддерживается
$let Да
$map Да

Геопространственный

Cloud Firestore с совместимостью с MongoDB поддерживает следующие геопространственные операторы.

Спецификаторы геометрии

Спецификатор Поддерживается
$box Нет
$center Нет
$centerSphere Нет
$geometry Нет
$maxDistance Нет
$minDistance Нет
$polygon Нет
$uniqueDocs Нет

Селекторы запросов

Селектор Поддерживается
$geoIntersects Нет
$geoWithin Нет
$near Нет
$nearSphere Нет
$nearSphere Нет
$uniqueDocs Нет

Индексы и свойства индексов

Cloud Firestore с совместимостью с MongoDB поддерживает следующие индексы и операторы индексов.

Индексы

Тип индекса Поддерживается
Нет
2dsphere Нет
Сложный Да
Хэшированный Нет
Мультиключ Да
Одно поле Да
Текст Нет

Свойства индекса

Свойство Поддерживается
Фон Да
Без учета регистра Нет
Частичный Нет
Неразреженный Да
Редкий Да
Текст Нет
ТТЛ Нет
Уникальный Да

Команды базы данных

Cloud Firestore с совместимостью с MongoDB поддерживает следующие команды базы данных.

Агрегация

Команда Поддерживается
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 .

Административные команды

Cloud Firestore с совместимостью с MongoDB поддерживает следующие административные команды.

Команда Поддерживается
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 с совместимостью с MongoDB поддерживает роли и разрешения управления идентификацией и доступом .

Команда Поддерживается
createRole Нет
dropAllRolesFromDatabase Нет
dropRole Нет
grantRolesToRole Нет
revokePrivilegesFromRole Нет
revokeRolesFromRole Нет
rolesInfo Нет
updateRole Нет

Что дальше?