ฟีเจอร์ที่รองรับ: 5.0

ตารางต่อไปนี้แสดงรายละเอียดฟีเจอร์ของ MongoDB 4.0 ที่ Cloud Firestore รองรับ โปรดดูความแตกต่างของลักษณะการทำงานที่หัวข้อความแตกต่างของลักษณะการทำงาน

โอเปอเรเตอร์การค้นหาและการฉายภาพ

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 ใช่

อัปเดตตัวแก้ไข

Modifier รองรับ
$each ใช่
$position ใช่
$slice ใช่
$sort ใช่

โอเปอเรเตอร์ไปป์ไลน์การรวมข้อมูล

Cloud Firestore รองรับโอเปอเรเตอร์ไปป์ไลน์การรวมต่อไปนี้

Accumulators

Expression รองรับ
$addToSet ใช่
$avg ใช่
$count ใช่
$first ใช่
$last ใช่
$max ใช่
$mergeObjects ใช่
$min ใช่
$push ใช่
$stdDevPop ไม่ได้
$stdDevSamp ไม่ได้
$sum ใช่

นิพจน์ Accumulator

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 ไม่

โอเปอเรเตอร์นิพจน์ลิเทอรัล

โอเปอเรเตอร์ รองรับ
$literal ใช่

โอเปอเรเตอร์ออบเจ็กต์

โอเปอเรเตอร์ รองรับ
$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

ใช่

$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 รองรับโอเปอเรเตอร์เชิงพื้นที่ต่อไปนี้

ตัวระบุเรขาคณิต

Specifier รองรับ
$box ไม่
$center ไม่ใช่
$centerSphere ไม่ใช่
$geometry ไม่ใช่
$maxDistance ไม่ใช่
$minDistance ไม่ใช่
$polygon ไม่ใช่
$uniqueDocs ไม่

ตัวเลือกการค้นหา

ตัวเลือก รองรับ
$geoIntersects ไม่
$geoWithin ไม่ได้
$near ใช่
$nearSphere ไม่ได้
$nearSphere ไม่ใช่
$uniqueDocs ไม่

ดัชนีและพร็อพเพอร์ตี้ดัชนี

Cloud Firestore รองรับดัชนีและโอเปอเรเตอร์ดัชนีต่อไปนี้

ดัชนี

ประเภทดัชนี รองรับ
2 มิติ ไม่
2dsphere ใช่
Compound ใช่
แฮช ไม่
Multikey ใช่
ช่องเดี่ยว ใช่
ข้อความ ใช่

คุณสมบัติของดัชนี

พร็อพเพอร์ตี้ รองรับ
ข้อมูลเบื้องต้น ใช่
ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ไม่
บางส่วน ไม่
ใช้บ่อย ใช่
Sparse ใช่
ข้อความ ใช่
TTL ใช่
ไม่ซ้ำ ใช่

คำสั่งฐานข้อมูล

Cloud Firestore รองรับคำสั่งฐานข้อมูลต่อไปนี้

การรวม

Command รองรับ
aggregate ใช่
count ใช่
distinct ใช่
group

ไม่

ระบบรองรับระยะ $group ในการรวม แต่ไม่รองรับคำสั่งกลุ่ม

mapReduce ไม่

การตรวจสอบสิทธิ์

Command รองรับ
authenticate ไม่
getnonce ไม่ใช่
logout ไม่

การดำเนินการค้นหาและการเขียน

Command รองรับ
watch (สตรีมการเปลี่ยนแปลง) ไม่
delete ใช่
eval ไม่ใช่
find ใช่
findAndModify ใช่
getLastError ใช่
getMore ใช่
getPrevError ไม่ได้
GridFS ไม่ได้
insert ใช่
parallelCollectionScan ไม่ได้
replaceOne

ไม่

เมธอดไดรเวอร์ replaceOne รองรับคำสั่ง update

resetError ไม่
update ใช่

คำสั่งเซสชัน

Command รองรับ
abortTransaction ใช่
commitTransaction ใช่
endSessions ใช่
killAllSessions ไม่ได้
killAllSessionsByPattern ไม่ใช่
killSessions ไม่ใช่
refreshSessions ไม่
startSession

คุณเริ่มเซสชันได้โดยใช้วิธีการของไดรเวอร์ startSession

คำสั่งการดูแลระบบ

Cloud Firestore รองรับคำสั่งการดูแลระบบต่อไปนี้

Command รองรับ
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 ไม่

คำสั่งการวินิจฉัย

Command รองรับ
buildInfo ใช่
collStats ใช่
connectionStatus ใช่
connPoolStats ไม่ได้
dataSize ไม่ใช่
dbHash ไม่ใช่
dbStats ไม่ได้
explain

ใช่

ดูความแตกต่างและข้อจำกัดด้านลักษณะการทำงานได้ที่คำอธิบายการค้นหา

features ไม่
hello ใช่
hostInfo ใช่
listCommands ไม่ได้
profiler ไม่ใช่
serverStatus ไม่ใช่
top ไม่ใช่
whatsmyuri ไม่

คำสั่งการจัดการผู้ใช้

หากต้องการจัดการการเข้าถึงฐานข้อมูล โปรดดูข้อมูลต่อไปนี้

Command รองรับ
createUser ไม่
dropAllUsersFromDatabase ไม่ใช่
dropUser ไม่ใช่
grantRolesToUser ไม่ใช่
revokeRolesFromUser ไม่ใช่
updateUser ไม่ใช่
usersInfo ไม่

คำสั่งการจัดการบทบาท

หากต้องการจัดการการเข้าถึงฐานข้อมูล โปรดดูข้อมูลต่อไปนี้

Command รองรับ
createRole ไม่
dropRole ไม่ใช่
dropAllRolesFromDatabase ไม่ใช่
grantPrivilegesToRole ไม่ใช่
grantRolesToRole ไม่ใช่
invalidateUserCache ไม่ใช่
revokePrivilegesFromRole ไม่ใช่
revokeRolesFromRole ไม่ใช่
rolesInfo ไม่ใช่
updateRole ไม่

ขั้นตอนถัดไป