- MongoDB官方文档中文版
- MongoDB用户手册
- MongoDB简介
- 安装 MongoDB
- 安装MongoDB社区版
- 安装MongoDB企业版
- 将社区版MongoDB升级到企业版MongoDB
- 验证MongoDB软件包的完整性
- Mongo Shell
- 增删改查操作
- 聚合
- 数据模式
- 数据建模介绍
- 模式验证
- Data Modeling Concepts
- Data Model Examples and Patterns
- Model Relationships Between Documents
- Model One-to-One Relationships with Embedded Documents
- Model One-to-Many Relationships with Embedded Documents
- Model One-to-Many Relationships with Document References
- Model Tree Structures
- Model Tree Structures with Parent References
- Model Tree Structures with Child References
- Model Tree Structures with an Array of Ancestors
- Model Tree Structures with Materialized Paths
- Model Tree Structures with Nested Sets
- Model Specific Application Contexts
- Model Data for Atomic Operations
- Model Data to Support Keyword Search
- Model Data for Schema Versioning
- Model Monetary Data
- Model Time Data
- Model Computed Data
- Data Model Reference
- 事务
- 索引
- Single Field Indexes
- Compound Indexes
- Multikey Indexes
- Text Indexes
- Wildcard Indexes
- 2dsphere Indexes
- 2d Indexes
- geoHaystack Indexes
- Hashed Indexes
- 索引特性
- Index Builds on Populated Collections
- 索引交集
- Manage Indexes
- 衡量索引使用
- Indexing Strategies
- Indexing Reference
- 2d索引
- 2dsphere索引
- 复合索引
- geoHaystack索引
- Hashed 索引
- 在填充的集合上建立索引
- 索引参考
- 索引策略
- 管理索引
- 多键索引
- 单字段索引
- 文本索引
- 通配符索引
- 安全
- 安全检查列表
- Enable Access Control
- 身份验证
- Users
- Add Users
- Authentication Mechanisms
- SCRAM
- x.509
- Enterprise Authentication Mechanisms
- Kerberos Authentication
- LDAP Proxy Authentication
- LDAP Authorization
- Internal/Membership Authentication
- Deploy Replica Set With Keyfile Authentication
- Update Replica Set to Keyfile Authentication
- Update Replica Set to Keyfile Authentication (No Downtime)
- Rotate Keys for Replica Sets
- Deploy Sharded Cluster with Keyfile Authentication
- Update Sharded Cluster to Keyfile Authentication
- Update Sharded Cluster to Keyfile Authentication (No Downtime)
- Rotate Keys for Sharded Clusters
- Use x.509 Certificate for Membership Authentication
- Upgrade from Keyfile Authentication to x.509 Authentication
- Rolling Update of x.509 Cluster Certificates that Contain New DN
- Role-Based Access Control
- TLS/SSL (Transport Encryption)
- Encryption at Rest
- Client-Side Field Level Encryption
- 审计
- Network and Configuration Hardening
- Implement Field Level Redaction
- Security Reference
- Create a Vulnerability Report
- Appendix
- 附录
- 启用访问控制
- 网络和配置强化
- 安全参考
- 改变流
- 复制集
- 复制集成员
- 副本集日志
- Replica Set Data Synchronization
- 副本集部署架构
- Replica Set High Availability
- Replica Set Read and Write Semantics
- Replica Set Deployment Tutorials
- Member Configuration Tutorials
- Replica Set Maintenance Tutorials
- Change the Size of the Oplog
- Perform Maintenance on Replica Set Members
- Force a Member to Become Primary
- Resync a Member of a Replica Set
- Configure Replica Set Tag Sets
- Reconfigure a Replica Set with Unavailable Members
- Manage Chained Replication
- Change Hostnames in a Replica Set
- Configure a Secondary’s Sync Target
- Replication Reference
- 副本集数据同步
- 分片
- 分片集群组成]
- 片键
- 哈希分片
- 范围分片
- 部署分片集群
- 区域
- Data Partitioning with Chunks
- Balancer
- Administration
- Config Server Administration
- Replace a Config Server
- View Cluster Configuration
- Restart a Sharded Cluster
- Migrate a Sharded Cluster to Different Hardware
- Add Shards to a Cluster
- Remove Shards from an Existing Sharded Cluster
- Clear jumbo Flag
- Back Up Cluster Metadata
- Convert Sharded Cluster to Replica Set
- Convert a Replica Set to a Sharded Cluster
- Convert a Shard Standalone to a Shard Replica Set
- Sharding Reference
- 分片键
- Zone
- 管理权限
- 产品说明
- Operations Checklist
- Development Checklist
- Performance
- 配置和维护
- Data Center Awareness
- MongoDB Backup Methods
- Back Up and Restore with Filesystem Snapshots
- Back Up and Restore with MongoDB Tools
- Restore a Replica Set from MongoDB Backups
- Backup and Restore Sharded Clusters
- Back Up a Sharded Cluster with File System Snapshots
- Back Up a Sharded Cluster with Database Dumps
- Schedule Backup Window for Sharded Clusters
- Restore a Sharded Cluster
- Recover a Standalone after an Unexpected Shutdown
- Monitoring for MongoDB
- 开发检查表
- MogoDB 备份方法
- 操作检查表
- MongoDB性能
- 存储
- 常见问题
- 参考
- Operators
- Query and Projection Operators
- Comparison Query Operators
- Logical Query Operators
- Element Query Operators
- Evaluation Query Operators
- Geospatial Query Operators
- Array Query Operators
- Bitwise Query Operators
- $comment
- 查询与映射运算符
- 更新运算符
- Field Update Operators
- Array Update Operators
- Bitwise Update Operator
- Aggregation Pipeline Stages
- $addFields (aggregation)
- $bucket (aggregation)
- $bucketAuto (aggregation)
- $collStats (aggregation)
- $count (aggregation)
- $currentOp (aggregation)
- $facet (aggregation)
- $geoNear (aggregation)
- $graphLookup (aggregation)
- $group (aggregation)
- $indexStats (aggregation)
- $limit (aggregation)
- $listLocalSessions
- $listSessions
- $lookup (aggregation)
- $match (aggregation)
- $merge (aggregation)
- $out (aggregation)
- $planCacheStats
- $project (aggregation)
- $redact (aggregation)
- $replaceRoot (aggregation)
- $replaceWith (aggregation)
- $sample (aggregation)
- $set (aggregation)
- $skip (aggregation)
- $sort (aggregation)
- $sortByCount (aggregation)
- $unionWith (aggregation)
- $unset (aggregation)
- $unwind (aggregation)
- Aggregation Pipeline Operators
- $sin (aggregation)
- $abs (aggregation)
- $slice (aggregation)
- $accumulator (aggregation)
- $split (aggregation)
- $acos (aggregation)
- $sqrt (aggregation)
- $acosh (aggregation)
- $add (aggregation)
- $addToSet (aggregation)
- $allElementsTrue (aggregation)
- $and (aggregation)
- $anyElementTrue (aggregation)
- $arrayElemAt (aggregation)
- $arrayToObject (aggregation)
- $asin (aggregation)
- $asinh (aggregation)
- $sum (aggregation)
- $atan (aggregation)
- $atan2 (aggregation)
- $tan (aggregation)
- $atanh (aggregation)
- $avg (aggregation)
- $binarySize (aggregation)
- $bsonSize (aggregation)
- $ceil (aggregation)
- $toInt (aggregation)
- $cmp (aggregation)
- $concat (aggregation)
- $concatArrays (aggregation)
- $cond (aggregation)
- $convert (aggregation)
- $cos (aggregation)
- $dateFromParts (aggregation)
- $dateToParts (aggregation)
- $type (aggregation)
- $dateFromString (aggregation)
- $week (aggregation)
- $dateToString (aggregation)
- $year (aggregation)
- $dayOfMonth (aggregation)
- $zip (aggregation)
- $dayOfWeek (aggregation)
- $dayOfYear (aggregation)
- $degreesToRadians (aggregation)
- $divide (aggregation)
- $eq (aggregation)
- $exp (aggregation)
- $filter (aggregation)
- $first (aggregation accumulator)
- $first (aggregation)
- $floor (aggregation)
- $function (aggregation)
- $gt (aggregation)
- $gte (aggregation)
- $hour (aggregation)
- $ifNull (aggregation)
- $in (aggregation)
- $indexOfArray (aggregation)
- $indexOfBytes (aggregation)
- $indexOfCP (aggregation)
- $isArray (aggregation)
- $isNumber (aggregation)
- $isoDayOfWeek (aggregation)
- $isoWeek (aggregation)
- $isoWeekYear (aggregation)
- $last (aggregation accumulator)
- $last (aggregation)
- $let (aggregation)
- $literal (aggregation)
- $ln (aggregation)
- $log (aggregation)
- $log10 (aggregation)
- $lt (aggregation)
- $lte (aggregation)
- $trim (aggregation)
- $map (aggregation)
- $max (aggregation)
- $mergeObjects (aggregation)
- $meta
- $min (aggregation)
- $millisecond (aggregation)
- $minute (aggregation)
- $mod (aggregation)
- $month (aggregation)
- $multiply (aggregation)
- $ne (aggregation)
- $not (aggregation)
- $objectToArray (aggregation)
- $or (aggregation)
- $pow (aggregation)
- $push (aggregation)
- $radiansToDegrees (aggregation)
- $range (aggregation)
- $reduce (aggregation)
- $regexFind (aggregation)
- $regexFindAll (aggregation)
- $regexMatch (aggregation)
- $replaceOne (aggregation)
- $replaceAll (aggregation)
- $reverseArray (aggregation)
- $round (aggregation)
- $rtrim (aggregation)
- $second (aggregation)
- $setDifference (aggregation)
- $setEquals (aggregation)
- $setIntersection (aggregation)
- $setIsSubset (aggregation)
- $setUnion (aggregation)
- $size (aggregation)
- $slice (aggregation)
- $split (aggregation)
- $sqrt (aggregation)
- $stdDevPop (aggregation)
- $stdDevSamp (aggregation)
- $strcasecmp (aggregation)
- $strLenBytes (aggregation)
- $strLenCP (aggregation)
- $substr (aggregation)
- $substrBytes (aggregation)
- $substrCP (aggregation)
- $subtract (aggregation)
- $sum (aggregation)
- $switch (aggregation)
- $tan (aggregation)
- $toBool (aggregation)
- $toDate (aggregation)
- $toDecimal (aggregation)
- $toDouble(aggregation)
- $toInt (aggregation)
- $toLong (aggregation)
- $toObjectId (aggregation)
- $toString (aggregation)
- $toLower (aggregation)
- $toUpper (aggregation)
- $trim (aggregation)
- $trunc (aggregation)
- $type (aggregation)
- $week (aggregation)
- $year (aggregation)
- $zip (aggregation)
- 查询修饰符
- $comment
- $explain
- $hint
- $max
- $maxTimeMS
- $min
- $orderby
- $query
- $returnKey
- $showDiskLoc
- $natural
- 聚合管道操作符
- $abs (aggregation)
- $acos (aggregation)
- $acosh (aggregation)
- $add (aggregation)
- $addToSet (aggregation)
- $and (aggregation)
- $anyElementTrue (aggregation)
- $arrayElemAt (aggregation)
- $arrayToObject (aggregation)
- $asin (aggregation)
- $asinh (aggregation)
- $atan (aggregation)
- $atan2 (aggregation)
- $atanh (aggregation)
- $avg (aggregation)
- $ceil (aggregation)
- $cmp (aggregation)
- $concat (aggregation)
- $concatArrays (aggregation)
- $cond (aggregation)
- $convert (aggregation)
- $cos (aggregation)
- $dateFromParts (aggregation)
- $dateFromString (aggregation)
- $dateToParts (aggregation)
- $dateToString (aggregation)
- $literal (aggregation)
- 聚合管道阶段
- 数据库命令
- Aggregation Commands
- aggregate
- count
- distinct
- mapReduce
- Geospatial Commands
- geoSearch
- Query and Write Operation Commands
- delete
- find
- findAndModify
- getLastError
- getMore
- insert
- resetError
- update
- 查询计划缓存命令
- planCacheClear
- planCacheClearFilters
- planCacheListFilters
- planCacheSetFilter
- 认证命令
- authenticate
- getnonce
- logout
- User Management Commands
- createUser
- dropAllUsersFromDatabase
- dropUser
- grantRolesToUser
- revokeRolesFromUser
- updateUser
- usersInfo
- Role Management Commands
- createRole
- dropRole
- dropAllRolesFromDatabase
- grantPrivilegesToRole
- grantRolesToRole
- invalidateUserCache
- revokePrivilegesFromRole
- revokeRolesFromRole
- rolesInfo
- updateRole
- Replication Commands
- applyOps
- isMaster
- replSetAbortPrimaryCatchUp
- replSetFreeze
- replSetGetConfig
- replSetGetStatus
- replSetInitiate
- replSetMaintenance
- replSetReconfig
- replSetResizeOplog
- replSetStepDown
- replSetSyncFrom
- Sharding Commands
- addShard
- addShardToZone
- balancerCollectionStatus
- balancerStart
- balancerStatus
- balancerStop
- checkShardingIndex
- clearJumboFlag
- cleanupOrphaned
- enableSharding
- flushRouterConfig
- getShardMap
- getShardVersion
- isdbgrid
- listShards
- medianKey
- moveChunk
- movePrimary
- mergeChunks
- refineCollectionShardKey
- removeShard
- removeShardFromZone
- setShardVersion
- shardCollection
- shardingState
- split
- splitChunk
- splitVector
- unsetSharding
- updateZoneKeyRange
- Sessions Commands
- abortTransaction
- commitTransaction
- endSessions
- killAllSessions
- killAllSessionsByPattern
- killSessions
- refreshSessions
- startSession
- Administration Commands
- cloneCollectionAsCapped
- collMod
- compact
- connPoolSync
- convertToCapped
- create
- createIndexes
- currentOp
- drop
- dropDatabase
- dropConnections
- dropIndexes
- filemd5
- fsync
- fsyncUnlock
- getDefaultRWConcern
- getParameter
- killCursors
- killOp
- listCollections
- listDatabases
- listIndexes
- logRotate
- reIndex
- renameCollection
- setFeatureCompatibilityVersion
- setIndexCommitQuorum
- setParameter
- setDefaultRWConcern
- shutdown
- Diagnostic Commands
- availableQueryOptions
- buildInfo
- collStats
- connPoolStats
- connectionStatus
- cursorInfo
- dataSize
- dbHash
- dbStats
- diagLogging
- driverOIDTest
- explain
- features
- getCmdLineOpts
- getLog
- hostInfo
- isSelf
- listCommands
- lockInfo
- netstat
- ping
- profile
- serverStatus
- shardConnPoolStats
- top
- validate
- whatsmyuri
- 免费监控命令
- getFreeMonitoringStatus
- setFreeMonitoring
- 数据库命令
- logApplicationMessage
- 管理命令
- 聚合命令
- 诊断命令
- 地理空间命令
- 查询和写操作命令
- 复制命令
- 角色管理命令
- 会话命令
- 分片命令
- 用户管理命令
- mongo Shell 方法
- Collection Methods
- db.collection.aggregate()
- db.collection.bulkWrite()
- db.collection.copyTo()
- db.collection.count()
- db.collection.countDocuments()
- db.collection.estimatedDocumentCount()
- db.collection.createIndex()
- db.collection.createIndexes()
- db.collection.dataSize()
- db.collection.deleteOne()
- db.collection.deleteMany()
- db.collection.distinct()
- db.collection.drop()
- db.collection.dropIndex()
- db.collection.dropIndexes()
- db.collection.ensureIndex()
- db.collection.explain()
- db.collection.find()
- db.collection.findAndModify()
- db.collection.findOne()
- db.collection.findOneAndDelete()
- db.collection.findOneAndReplace()
- db.collection.findOneAndUpdate()
- db.collection.getIndexes()
- db.collection.getShardDistribution()
- db.collection.getShardVersion()
- db.collection.hideIndex()
- db.collection.insert()
- db.collection.insertOne()
- db.collection.insertMany()
- db.collection.isCapped()
- db.collection.latencyStats()
- db.collection.mapReduce()
- db.collection.reIndex()
- db.collection.remove()
- db.collection.renameCollection()
- db.collection.replaceOne()
- db.collection.save()
- db.collection.stats()
- db.collection.storageSize()
- db.collection.totalIndexSize()
- db.collection.totalSize()
- db.collection.unhideIndex()
- db.collection.update()
- db.collection.updateOne()
- db.collection.updateMany()
- db.collection.watch()
- db.collection.validate()
- Cursor Methods
- cursor.addOption()
- cursor.allowDiskUse()
- cursor.allowPartialResults()
- cursor.batchSize()
- cursor.close()
- cursor.isClosed()
- cursor.collation()
- cursor.comment()
- cursor.count()
- cursor.explain()
- cursor.forEach()
- cursor.hasNext()
- cursor.hint()
- cursor.isExhausted()
- cursor.itcount()
- cursor.limit()
- cursor.map()
- cursor.max()
- cursor.maxTimeMS()
- cursor.min()
- cursor.next()
- cursor.noCursorTimeout()
- cursor.objsLeftInBatch()
- cursor.pretty()
- cursor.readConcern()
- cursor.readPref()
- cursor.returnKey()
- cursor.showRecordId()
- cursor.size()
- cursor.skip()
- cursor.sort()
- cursor.tailable()
- cursor.toArray()
- Database Methods
- db.adminCommand()
- db.aggregate()
- db.cloneDatabase()
- db.commandHelp()
- db.copyDatabase()
- db.createCollection()
- db.createView()
- db.currentOp()
- db.dropDatabase()
- db.eval()
- db.fsyncLock()
- db.fsyncUnlock()
- db.getCollection()
- db.getCollectionInfos()
- db.getCollectionNames()
- db.getLastError()
- db.getLastErrorObj()
- db.getLogComponents()
- db.getMongo()
- db.getName()
- db.getProfilingLevel()
- db.getProfilingStatus()
- db.getReplicationInfo()
- db.getSiblingDB()
- db.help()
- db.hostInfo()
- db.isMaster()
- db.killOp()
- db.listCommands()
- db.logout()
- db.printCollectionStats()
- db.printReplicationInfo()
- db.printShardingStatus()
- db.printSlaveReplicationInfo()
- db.resetError()
- db.runCommand()
- db.serverBuildInfo()
- db.serverCmdLineOpts()
- db.serverStatus()
- db.setLogLevel()
- db.setProfilingLevel()
- db.shutdownServer()
- db.stats()
- db.version()
- db.watch()
- Query Plan Cache Methods
- db.collection.getPlanCache()
- PlanCache.clear()
- PlanCache.clearPlansByQuery()
- PlanCache.help()
- PlanCache.list()
- Bulk Operation Methods
- db.collection.initializeOrderedBulkOp()
- db.collection.initializeUnorderedBulkOp()
- Bulk()
- Bulk.execute()
- Bulk.find()
- Bulk.find.arrayFilters()
- Bulk.find.collation()
- Bulk.find.hint()
- Bulk.find.remove()
- Bulk.find.removeOne()
- Bulk.find.replaceOne()
- Bulk.find.updateOne()
- Bulk.find.update()
- Bulk.find.upsert()
- Bulk.getOperations()
- Bulk.insert()
- Bulk.tojson()
- Bulk.toString()
- User Management Methods
- db.auth()
- db.changeUserPassword()
- db.createUser()
- db.dropUser()
- db.dropAllUsers()
- db.getUser()
- db.getUsers()
- db.grantRolesToUser()
- db.removeUser()
- db.revokeRolesFromUser()
- db.updateUser()
- passwordPrompt()
- Role Management Methods
- db.createRole()
- db.dropRole()
- db.dropAllRoles()
- db.getRole()
- db.getRoles()
- db.grantPrivilegesToRole()
- db.revokePrivilegesFromRole()
- db.grantRolesToRole()
- db.revokeRolesFromRole()
- db.updateRole()
- Replication Methods
- rs.add()
- rs.addArb()
- rs.conf()
- rs.freeze()
- rs.help()
- rs.initiate()
- rs.printReplicationInfo()
- rs.printSlaveReplicationInfo()
- rs.reconfig()
- rs.remove()
- rs.status()
- rs.stepDown()
- rs.syncFrom()
- Sharding Methods
- sh.addShard()
- sh.addShardTag()
- sh.addShardToZone()
- sh.addTagRange()
- sh.balancerCollectionStatus()
- sh.disableBalancing()
- sh.enableBalancing()
- sh.disableAutoSplit
- sh.enableAutoSplit
- sh.enableSharding()
- sh.getBalancerHost()
- sh.getBalancerState()
- sh.removeTagRange()
- sh.removeRangeFromZone()
- sh.help()
- sh.isBalancerRunning()
- sh.moveChunk()
- sh.removeShardTag()
- sh.removeShardFromZone()
- sh.setBalancerState()
- sh.shardCollection()
- sh.splitAt()
- sh.splitFind()
- sh.startBalancer()
- sh.status()
- sh.stopBalancer()
- sh.waitForBalancer()
- sh.waitForBalancerOff()
- sh.waitForPingChange()
- sh.updateZoneKeyRange()
- convertShardKeyToHashed
- Free Monitoring Methods
- db.disableFreeMonitoring()
- db.enableFreeMonitoring()
- db.getFreeMonitoringStatus
- Object Constructors and Methods
- BulkWriteResult()
- Date()
- ObjectId
- ObjectId.getTimestamp()
- ObjectId.toString()
- ObjectId.valueOf()
- UUID()
- WriteResult()
- WriteResult.hasWriteError()
- WriteResult.hasWriteConcernError()
- Connection Methods
- connect()
- Mongo()
- Mongo.getDB()
- Mongo.getReadPrefMode()
- Mongo.getReadPrefTagSet()
- Mongo.isCausalConsistency()
- Mongo.setCausalConsistency()
- Mongo.setReadPref()
- Mongo.startSession()
- Mongo.watch()
- Session
- SessionOptions
- Native Methods
- cat()
- cd()
- copyDbpath()
- getHostName()
- getMemInfo()
- hostname()
- isInteractive()
- listFiles()
- load()
- ls()
- md5sumFile()
- mkdir()
- pwd()
- quit()
- removeFile()
- resetDbpath()
- sleep()
- setVerboseShell()
- version()
- _isWindows()
- _rand()
- Client-Side Field Level Encryption Methods
- getKeyVault()
- KeyVault.createKey()
- KeyVault.deleteKey()
- KeyVault.getKey()
- KeyVault.getKeys()
- KeyVault.addKeyAlternateName()
- KeyVault.removeKeyAlternateName()
- KeyVault.getKeyByAltName()
- getClientEncryption()
- ClientEncryption.encrypt()
- ClientEncryption.decrypt()
- mongo Shell 方法
- MongoDB Package Components
- Configuration File Options
- MongoDB Server Parameters
- MongoDB Limits and Thresholds
- Explain Results
- System Collections
- 连接字符串URI格式
- 排序
- MongoDB的Wire协议
- 日志消息
- Exit Codes and Statuses
- 词汇表
- 默认的MongoDB端口
- Default MongoDB Read Concerns/Write Concerns
- 服务器会话
- Configuration File Options
- 默认的MongoDB读/写关注
- 退出代码和状态
- MongoDB Limits and Thresholds
- Operators
- 更新说明
- Release Notes for MongoDB 4.4
- Release Notes for MongoDB 4.2
- Release Notes for MongoDB 4.0
- Release Notes for MongoDB 3.6
- Release Notes for MongoDB 3.4
- Release Notes for MongoDB 3.2
- Release Notes for MongoDB 3.0
- Release Notes for MongoDB 2.6
- Release Notes for MongoDB 2.4
- Release Notes for MongoDB 2.2
- Release Notes for MongoDB 2.0
- Release Notes for MongoDB 1.8
- Release Notes for MongoDB 1.6
- Release Notes for MongoDB 1.4
- Release Notes for MongoDB 1.2.x
- MongoDB Versioning
- 技术支持
- 开始使用MongoDB开发
- 联系我们
- 更多资料
- 本书使用 GitBook 发布
权限操作
权限操作
在本页面
权限操作定义了用户可以对资源执行的操作。MongoDB 权限包括 资源和允许的操作。此页面列出了按通用目的分组的可用操作。
MongoDB为内置角色提供了预定义的资源对和允许的操作对。有关授予的操作的列表,请参见 内置角色。要定义自定义角色,请参阅 创建用户定义的角色。
查询和写操作¶
find
用户可以执行以下命令及其等效的帮助方法:
aggregate
对于所有管道操作 ($collStats
,$out
和$indexStats
除外) 。checkShardingIndex
count
dataSize
distinct
filemd5
find
geoSearch
getLastError
getMore
killCursors
,前提是光标与当前经过身份验证的用户相关联。listCollections
listIndexes
mapReduce
与{out: inline}
选项resetError
输出到集合时,mapReduce
命令和 db.collection.mapReduce
辅助方法的查询部分是必需的。
findAndModify
命令行和db.collection.findAndModify
辅助方法的查询部分是必需的。
cloneCollectionAsCapped
和renameCollection
命令行以及db.collection.renameCollection()
辅助方法要求有源集合。
- 对于MongoDB 4.0.6+:
如果用户没有listDatabases
操作权限,用户运行listDatabases
命令行时authorizedDatabases
未指定或设置选项为true
,则用户可以运行该命令以返回该用户具有权限的数据库的列表(包括该用户对特定集合具有权限的数据库)。
- 对于MongoDB 4.0.5:
如果用户没有listDatabases
操作权限,在authorizedDatabases
未指定选项或设置为true
的情况下运行listDatabases
命令时,用户可以运行该命令以返回该用户对其具有find
操作权限的数据库的列表 。
- 对于MongoDB 4.0.0-4.0.4:
如果用户没有listDatabases
操作权限,则用户可以运行listDatabases
命令以返回该用户对其具有find
操作权限的数据库列表 。
将此操作应用于数据库或集合资源。
insert
用户可以执行以下命令及其等效方法:
insert
create
输出到集合时,mapReduce
命令和db.collection.mapReduce()
方法的输出部分是必需的。
使用管道$out
运算符时,aggregate
命令和 db.collection.aggregate()
帮助程序方法是必需的。
当使用update
和findAndModify
命令以及等效的帮助程序方法时,upsert
是必需的 。
以下命令及其辅助方法在目标集合上是必需的:
cloneCollection
cloneCollectionAsCapped
renameCollection
将此操作应用于数据库或集合资源。
remove
用户可以执行delete
命令和等效的辅助方法。
findAndModify
命令和db.collection.findAndModify()
方法的write 部分是必需的。
当您指定replace
输出到集合时,该mapReduce
命令和 db.collection.mapReduce()
辅助方法是必需的。
使用$out
管道运算符时,aggregate
命令和 db.collection.aggregate()
辅助方法是必需的。
将此操作应用于数据库或集合资源。
update
用户可以执行update
命令和等效的帮助方法。
在不指定replace
操作的情况下输出到集合时,mapReduce
命令和 db.collection.mapReduce()
辅助方法是必需的 。
findAndModify
命令和 db.collection.findAndModify()
辅助方法是必需的。
将此操作应用于数据库或集合资源。
bypassDocumentValidation
3.2版中的新功能。
用户可以绕过支持bypassDocumentValidation
选项的命令和方法的文档验证。以下命令及其等效方法支持绕过文档验证:
将此操作应用于数据库或集合资源。
useUUID
3.6版的新功能。
用户可以使用UUID来执行以下命令 ,就像它是名称空间一样:
例如,此权限授权用户运行以下命令,该find
命令对具有给定UUID的集合执行命令。为了获得成功,此操作还需要授权用户find
在与给定UUID对应的集合名称空间上执行命令。
复制
db.runCommand({find: UUID("123e4567-e89b-12d3-a456-426655440000")})
有关集合UUID的更多信息,请参见 集合。
将此操作应用于cluster
资源。
数据库管理操作¶
changeCustomData
用户可以更改给定数据库中任何用户的自定义信息。将此操作应用于数据库资源。
changeOwnCustomData
用户可以更改自己的自定义信息。将此操作应用于数据库资源。另请参阅 更改密码和自定义数据。
changeOwnPassword
用户可以更改自己的密码。将此操作应用于数据库资源。另请参阅 更改密码和自定义数据。
changePassword
用户可以更改给定数据库中任何用户的密码。将此操作应用于数据库资源。
createCollection
用户可以执行db.createCollection()
方法。将此操作应用于数据库或集合资源。
createIndex
提供对db.collection.createIndex()
方法和createIndexes
命令的访问。将此操作应用于数据库或集合资源。
createRole
用户可以在给定的数据库中创建新角色。将此操作应用于数据库资源。
createUser
用户可以在给定的数据库中创建新用户。将此操作应用于数据库资源。
dropCollection
用户可以执行该db.collection.drop()
方法。将此操作应用于数据库或集合资源。
dropRole
用户可以从给定的数据库中删除任何角色。将此操作应用于数据库资源。
dropUser
用户可以从给定的数据库中删除任何用户。将此操作应用于数据库资源。
enableProfiler
用户可以执行db.setProfilingLevel()
方法。将此操作应用于数据库资源。
grantRole
用户可以将数据库中的任何角色从系统中的任何数据库授予任何用户。将此操作应用于数据库资源。
killCursors
从MongoDB 4.2开始,用户始终可以关闭自己的游标,而不管用户是否具有 killCursors
的权限。因此,该killCursors
权限在MongoDB 4.2+中无效。
在MongoDB 3.6.3到MongoDB 4.0.x中,killCursors
启用访问控制后,用户需要权限来关闭自己的游标。游标创建时,游标与用户相关联。将此操作应用于收集资源。
killAnyCursor
版本3.6.3中的新功能。
用户可以关闭任何游标,甚至可以关闭其他用户创建的游标。将此操作应用于收集资源。
revokeRole
用户可以从系统中任何数据库的任何用户中删除任何角色。将此操作应用于数据库资源。
setAuthenticationRestriction
3.6版的新功能。
运行以下命令时,用户可以在user
文档中指定 authenticationRestrictions字段:
-
- updateUser
运行以下命令时,用户可以authenticationRestrictions
在role
文档中指定字段 :
- updateUser
以下内置角色授予此权限:
该
userAdmin
角色提供对数据库的这一权限的角色分配。- 该
userAdminAnyDatabase
角色在所有数据库上提供此权限。
在传递上,restore
和root
角色也提供此特权。
- 该
将此操作应用于数据库资源。
unlock
用户可以执行db.fsyncUnlock()
方法。将此操作应用于cluster
资源。
viewRole
用户可以查看有关给定数据库中任何角色的信息。将此操作应用于数据库资源。
viewUser
用户可以在给定的数据库中查看任何用户的信息。将此操作应用于数据库资源。
部署管理操作¶
authSchemaUpgrade
用户可以执行authSchemaUpgrade
命令。将此操作应用于cluster
资源。
cleanupOrphaned
用户可以执行cleanupOrphaned
命令。将此操作应用于cluster
资源。
cpuProfiler
用户可以启用和使用CPU分析器。将此操作应用于 cluster
资源。
inprog
用户可以使用db.currentOp()
方法返回有关挂起和活动操作的信息。将此操作应用于cluster
资源。
在版本3.2.9中进行了更改:即使没有inprog
权限,用户也可以在mongod
实例上通过运行db.currentOp( { "$ownOps": true } )
来查看自己的操作。
invalidateUserCache
提供对invalidateUserCache
命令的访问。将此操作应用于cluster
资源。
killop
用户可以执行db.killOp()
方法。将此操作应用于cluster
资源。
在版本3.2.9中进行了更改:即使没有killop
权限,在 mongod
实例上,用户也可以关闭自己的操作。
planCacheRead
用户可以执行以下操作:
$planCacheStats
聚集阶段。planCacheListPlans
命令和PlanCache.getPlansByQuery()
方法。planCacheListQueryShapes
命令和PlanCache.listQueryShapes()
方法。
将此操作应用于数据库或集合资源。
planCacheWrite
用户可以执行planCacheClear
命令以及 PlanCache.clear()
和PlanCache.clearPlansByQuery()
方法。将此操作应用于数据库或集合资源。
storageDetails
用户可以执行storageDetails
命令。将此操作应用于数据库或集合资源。
变更流操作¶
changeStream
用户在指定集合上使用changeStream
和find
上,在指定数据库中的所有非system
集合或所有数据库中的所有非system
集合都可以为这些资源打开变更流游标。
复制操作¶
appendOplogNote
用户可以在操作日志中添加注释。将此操作应用于 cluster
资源。
replSetConfigure
用户可以配置副本集。将此操作应用于cluster
资源。
replSetGetConfig
用户可以查看副本集的配置。提供对replSetGetConfig
命令和rs.conf()
辅助方法的访问 。
将此操作应用于cluster
资源。
replSetGetStatus
用户可以执行replSetGetStatus
命令。将此操作应用于cluster
资源。
replSetHeartbeat
用户可以执行replSetHeartbeat
命令。将此操作应用于cluster
资源。
replSetStateChange
用户可以通过 replSetFreeze
,replSetMaintenance
, replSetStepDown
,和replSetSyncFrom
命令改变一个副本集的状态。将此操作应用于cluster
资源。
resync
用户可以执行resync
命令。将此操作应用于cluster
资源。
分片操作¶
addShard
用户可以执行addShard
命令。将此操作应用于cluster
资源。
clearJumboFlag
从4.2.3和4.0.15开始可用
使用clearJumboFlag
命令清除块的巨型标志所必需 。将此操作应用于数据库或集合资源。
包含在clusterManager
内置角色中。
enableSharding
适用资源
该操作可以应用于以下任一情况:
资源 | 描述 |
---|---|
数据库或集合 | 授予用户执行以下操作的权限:使用以下enableSharding 命令在数据库上启用分片 ,然后使用shardCollection 命令对集合进行分片。 |
群集从版本4.2.2、4.0.14、3.6.16开始 | 授予用户执行以下分区域操作的权限:- addShardToZone - updateZoneKeyRange - removeShardFromZone 如果对数据库中的相应集合执行find / update 操作,则还可以执行这些分片区 config 操作。有关详细信息,请参见具体操作。 |
flushRouterConfig
用户可以执行flushRouterConfig
命令。将此操作应用于cluster
资源。
getShardMap
用户可以执行getShardMap
命令。将此操作应用于cluster
资源。
getShardVersion
用户可以执行getShardVersion
命令。将此操作应用于数据库资源。
listShards
用户可以执行listShards
命令。将此操作应用于cluster
资源。
moveChunk
用户可以执行moveChunk
命令。此外,如果将权限应用于适当的数据库资源,则用户可以执行movePrimary
命令。将此操作应用于数据库或集合资源。
removeShard
用户可以执行removeShard
命令。将此操作应用于cluster
资源。
shardingState
用户可以执行shardingState
命令。将此操作应用于cluster
资源。
splitChunk
用户可以执行splitChunk
命令和 mergeChunks
命令。将此操作应用于数据库或集合资源。
splitVector
用户可以执行splitVector
命令。将此操作应用于数据库或集合资源。
服务器管理操作¶
applicationMessage
用户可以执行logApplicationMessage
命令。将此操作应用于cluster
资源。
closeAllDatabases
用户可以执行closeAllDatabases
命令。将此操作应用于cluster
资源。
collMod
用户可以执行collMod
命令。将此操作应用于数据库或集合资源。
compact
用户可以执行compact
命令。将此操作应用于数据库或集合资源。
connPoolSync
用户可以执行connPoolSync
命令。将此操作应用于cluster
资源。
convertToCapped
用户可以执行convertToCapped
命令。将此操作应用于数据库或集合资源。
dropConnections
用户可以执行dropConnections
命令。将此操作应用于cluster
资源。
dropDatabase
用户可以执行dropDatabase
命令。将此操作应用于数据库资源。
dropIndex
用户可以执行dropIndexes
命令。将此操作应用于数据库或集合资源。
forceUUID
3.6版的新功能。
用户可以使用 applyOps
命令使用用户定义的集合UUID创建集合。
将此操作应用于cluster
资源。
fsync
用户可以执行fsync
命令。将此操作应用于cluster
资源。
getParameter
用户可以执行getParameter
命令。将此操作应用于cluster
资源。
hostInfo
提供有关运行MongoDB实例的服务器的信息。将此操作应用于cluster
资源。
logRotate
用户可以执行logRotate
命令。将此操作应用于cluster
资源。
reIndex
用户可以执行reIndex
命令。将此操作应用于数据库或集合资源。
renameCollectionSameDB
允许用户使用renameCollection
命令在当前数据库上重命名集合 。将此操作应用于数据库资源。
此外,用户必须拥有 find
源集合或者没有 find
目标集合。
如果已经存在使用新名称的集合,则用户还必须使用dropCollection
对目标集合执行操作。
setParameter
用户可以执行setParameter
命令。将此操作应用于cluster
资源。
shutdown
用户可以执行shutdown
命令。将此操作应用于cluster
资源。
touch
用户可以执行touch
命令。将此操作应用于cluster
资源。
会话的操作¶
impersonate
3.6版的新功能。
用户可以使用users
和roles
模式执行killAllSessionsByPattern
命令。将此操作应用于 cluster
资源。
要运行killAllSessionsByPattern
命令,用户还必须对群集资源具有killAnySession
权限。
listSessions
3.6版的新功能。
用户可以为所有用户或指定用户执行$listSessions
一项或 $listLocalSessions
多项操作。将此操作应用于cluster
资源。
killAnySession
SEE ALSOimpersonate
3.6版的新功能。
用户可以执行killAllSessions
和 killAllSessionsByPattern
命令。将此操作应用于cluster
资源。
也可以看看impersonate
免费的监控操作¶
checkFreeMonitoringStatus
对cluster
资源执行此操作的用户可以检查“ 免费监控”的状态。
4.0版本中的新功能。
setFreeMonitoring
对cluster
资源执行此操作的用户可以启用或禁用“ 免费监控”。
4.0版本中的新功能。
诊断操作¶
collStats
用户可以执行collStats
命令。将此操作应用于数据库或集合资源。
connPoolStats
用户可以执行connPoolStats
和shardConnPoolStats
命令。将此操作应用于cluster
资源。
cursorInfo
用户可以执行cursorInfo
命令。将此操作应用于cluster
资源。
dbHash
用户可以执行dbHash
命令。将此操作应用于数据库或集合资源。
dbStats
用户可以执行dbStats
命令。将此操作应用于数据库资源。
getCmdLineOpts
用户可以执行getCmdLineOpts
命令。将此操作应用于cluster
资源。
getLog
用户可以执行getLog
命令。将此操作应用于cluster
资源。
indexStats
用户可以执行indexStats
命令。将此操作应用于数据库或集合资源。
在版本3.0中进行了更改: MongoDB 3.0删除了该indexStats
命令。
listDatabases
用户可以执行listDatabases
命令。将此操作应用于cluster
资源。
- 对于MongoDB 4.0.6+:
如果用户没有listDatabases
操作权限,则如果运行listDatabases
命令时authorizedDatabases
未指定或设置选项为true
,则用户可以运行该命令以返回该用户具有权限的数据库的列表(包括该用户对特定集合具有权限的数据库)。
- 对于MongoDB 4.0.5:
如果用户没有listDatabases
操作权限,则在authorizedDatabases
命令未指定选项或设置为true
的情况下运行listDatabases
命令时,用户可以运行该命令以返回该用户对其具有find
操作权限的数据库的列表 。
- 对于MongoDB 4.0.0-4.0.4:
如果用户没有listDatabases
操作权限,则用户可以运行listDatabases
命令以返回该用户对其具有find
操作权限的数据库列表 。
listCollections
用户可以执行listCollections
命令。将此操作应用于数据库资源。
注意
从4.0版本开始,没有所需权限的用户可以在
authorizedCollections
和nameOnly
选项都设置为true
的情况下运行listCollections
命令。在这种情况下,该命令仅返回用户具有特权的集合的名称和类型。
listIndexes
用户可以执行listIndexes
命令。将此操作应用于数据库或集合资源。
netstat
用户可以执行netstat
命令。将此操作应用于cluster
资源。
serverStatus
用户可以执行serverStatus
命令。将此操作应用于cluster
资源。
validate
用户可以执行validate
命令。将此操作应用于数据库或集合资源。
top
用户可以执行top
命令。将此操作应用于 cluster
资源。
内部操作¶
anyAction
允许对资源执行任何操作。除非绝对必要,否则不要分配此操作。
internal
允许内部动作。除非绝对必要,否则不要分配此操作。
原文链接:https://docs.mongodb.com/manual/reference/privilege-actions/
译者:谢伟成
参见
原文 - Privilege Actions
Copyright © 上海锦木信息技术有限公司 all right reserved,powered by Gitbook文件修订时间: 2020-12-18 11:34:57