PolarDB PostgreSQL版文档兼容功能提供了对文档数据库语法与驱动的高度兼容。但在计划使用或进行数据迁移前,请务必详细阅读本章节,以充分了解其兼容范围、使用限制和行为差异,确保您的业务能够平滑、稳定地运行。
适用范围
兼容版本:兼容MongoDB 4.0及以上版本的驱动和客户端。对于MongoDB 4.0以下版本中已废弃的命令(如mapreduce),本功能不予支持,需要升级客户端或驱动版本。
错误码:PolarDB PostgreSQL版文档数据兼容功能使用与MongoDB相同的错误名称和代码,但具体的错误信息有时可能不同。
字符集:PolarDB PostgreSQL版文档数据兼容功能的集合名称必须是有效的UTF-8,而MongoDB支持无效的UTF-8。
支持驱动与客户端工具
支持多数主流语言的MongoDB官方驱动和常用客户端工具。
官方驱动支持
语言 | 驱动/库 |
Python | pymongo
|
Go | mongo-go-driver
|
JavaScript(Node.js) | mongodb/Mongoose
|
Java | MongoDB Java
|
Rust | mongodb
|
C | mongo-c-driver
|
C++ | mongo-cxx-driver
|
PHP | mongodb(扩展)+ library(用户态)
|
Ruby | mongo
|
Scala | mongodb-scala-driver
|
Swift | mongo-swift-driver
|
客户端工具支持
可使用标准MongoDB客户端工具连接并管理数据库。
命令兼容性矩阵
下表列出了各类MongoDB命令的支持情况。
聚合命令
命令 | 支持状态 |
aggregate
| 支持 |
count
| 支持 |
distinct
| 支持 |
查询与写入命令
命令 | 支持状态 |
find
| 支持 |
insert
| 支持 |
update
| 支持 |
delete
| 支持 |
findAndModify
| 支持 |
getMore
| 支持 |
bulkWrite
| 不支持 |
运维命令
命令 | 支持状态 |
create
| 支持 |
drop
| 支持 |
createIndexes
| 支持 |
dropIndexes
| 支持 |
listCollections
| 支持 |
listDatabases
| 支持 |
listIndexes
| 支持 |
collMod
| 支持 |
compact
| 支持 |
reIndex
| 支持 |
renameCollection
| 支持 |
currentOp
| 支持 |
killCursors
| 支持 |
getParameter
| 支持 |
cloneCollectionAsCapped
| 不支持 |
convertToCapped
| 不支持 |
dropConnections
| 不支持 |
killOp
| 不支持 |
logRotate
| 不支持 |
setParameter
| 不支持 |
shutdown
| 不支持 |
诊断命令
命令 | 支持状态 |
buildInfo
| 支持 |
collStats
| 支持 |
connectionStatus
| 支持 |
dataSize
| 支持 |
dbStats
| 支持 |
explain
| 支持 |
ferretDebugError
| 支持 |
getCmdLineOpts
| 支持 |
getLog
| 支持 |
hostInfo
| 支持 |
listCommands
| 支持 |
ping
| 支持 |
serverStatus
| 支持 |
validate
| 支持 |
whatsmyuri
| 支持 |
connPoolStats
| 不支持 |
logApplicationMessage
| 不支持 |
profile
| 不支持 |
会话命令
命令 | 支持状态 |
abortTransaction
| 支持 |
commitTransaction
| 支持 |
endSessions
| 支持 |
killAllSessions
| 支持 |
killSessions
| 支持 |
refreshSessions
| 支持 |
startSession
| 支持 |
killAllSessionsByPattern
| 不支持 |
用户管理命令
命令 | 支持状态 |
createUser
| 支持 |
dropAllUsersFromDatabase
| 支持 |
dropUser
| 支持 |
updateUser
| 支持 |
usersInfo
| 支持 |
grantRolesToUser
| 不支持 |
revokeRolesFromUser
| 不支持 |