跳到主要内容

支持的命令

jdbc-mongo 通过解析原始 Command 命令将其转换为底层的 API 调用。以下是支持的命令列表。

命令增强

对于原始的 MongoDB 命令中,db. 前缀的增强

  • 您可以在原始命令中省略 db. 前缀,直接使用集合名称,例如 coll1.find() 此时表示查询当前数据库中的 coll1 集合。
  • 您可以使用 <数据库名>.<集合名>. 指定操作的具体集合,例如 myDb.coll1.find() 此时表示查询 myDb 数据库中的 coll1 集合。
  • 您可以使用 use 数据库名 切换当前数据库。

集合操作 (Collection Operations)

命令描述官方文档
find查询文档,支持 limit, skip, sort, explain, hintfind
findOne查询单个文档findOne
insert插入文档insert
insertOne插入单个文档insertOne
insertMany插入多个文档insertMany
update更新文档update
updateOne更新单个文档updateOne
updateMany更新多个文档updateMany
replaceOne替换单个文档replaceOne
remove删除文档delete
deleteOne删除单个文档deleteOne
deleteMany删除多个文档deleteMany
count统计文档数量count
distinct获取唯一值distinct
aggregate聚合操作aggregate
bulkWrite批量写入操作bulkWrite
renameCollection重命名集合renameCollection
drop删除集合drop

数据库管理 (Database Management)

命令描述官方文档
createCollection创建集合create
createView创建视图createView
dropDatabase删除当前数据库dropDatabase
getCollectionNames获取集合名称列表listCollections
getCollectionInfos获取集合信息listCollections
runCommand运行任意数据库命令runCommand
serverStatus获取服务器状态serverStatus
stats获取数据库统计信息dbStats
version获取服务器版本buildInfo

索引管理 (Index Management)

命令描述官方文档
createIndex创建索引createIndexes
dropIndex删除索引dropIndexes
getIndexes获取索引列表listIndexes

用户管理 (User Management)

命令描述官方文档
createUser创建用户createUser
dropUser删除用户dropUser
updateUser更新用户updateUser
changeUserPassword修改用户密码updateUser
grantRolesToUser授予用户角色grantRolesToUser
revokeRolesFromUser撤销用户角色revokeRolesFromUser

其他命令

  • use <database>: 切换当前数据库。
  • show dbs: 显示所有数据库。
  • show collections: 显示当前数据库的所有集合。
  • show tables: 同 show collections

Hint 支持

jdbc-mongo 支持通过 SQL Hint 方式来覆盖或增强查询行为。Hint 格式为 /*+ hint_name=value */,必须位于 SQL 语句的开头。

Hint 名称说明示例
overwrite_find_limit覆盖查询的 limit 参数,用于分页或限制返回条数。/*+ overwrite_find_limit=10 */ db.collection.find({})
overwrite_find_skip覆盖查询的 skip 参数,用于分页跳过指定条数。/*+ overwrite_find_skip=20 */ db.collection.find({})
overwrite_find_as_count将查询转换为 Count 操作,忽略返回的文档内容,仅返回匹配数量。/*+ overwrite_find_as_count */ db.collection.find({})