MongoDB 数据库db命令

MongoDB 数据库命令用于创建、修改和更新数据库。

一、db.adminCommand(cmd)

admin 命令方法针对 admin 数据库运行,通过提供帮助程序来运行指定的数据库命令。

cmd:参数以文档形式或字符串形式指定。如果命令定义为字符串,则不能包含任何参数。

示例:

在 admin 数据库上创建一个名为 Yiidian 且具有 dbOwner 角色的用户。

db.adminCommand(  
  {  
    createUser: "Yiidian",  
    pwd: passwordPrompt(),  
    roles: [  
      { role: "dbOwner", db: "admin" }  
    ]  
  }  
)  

二、db.aggregate()

aggregate 聚合方法初始化特定的诊断或管理管道,它不需要底层集合。

语法:

db.aggregate( [ <pipeline> ], { <options> } )  

管道参数不需要任何底层集合,并且始终以兼容的阶段开始,例如 $currentOp 或 $listLocalSessions。它是一系列将被执行的阶段。

示例:

以下示例运行具有两个阶段的管道。第一个是 $currentOp 操作,第二个将过滤结果。

use admin  
db.aggregate( [ {  
   $currentOp : { allUsers: true, idleConnections: true } },   
{  
   $match : { shard: "shardDemo" }  
   }  
] )  

三、db.cloneDatabase("hostname")

clonedatabase 方法将指定的数据库复制到当前数据库,并假定远程位置的数据库与当前数据库同名。

hostname 参数包含我们要复制的数据库的主机名。

示例:

db.cloneDatabase("customers")

输出结果为:

四、db.commandHelp(command)

我们使用 commandHelp 方法为指定的数据库命令提供帮助选项。command 参数包含数据库命令的名称。

五、db.createCollection(name, options)

将使用此方法创建一个新的集合或视图。createCollection 方法主要用于在命令中首次引用集合时创建使用特定选项的新集合。

例如:我们将创建一个带有JSON Schema 验证器的yiidian集合:

db.createCollection( "student", {  
   validator: { $jsonSchema: {  
      bsonType: "object",  
      required: [ "phone" ],  
      properties: {  
         phone: {  
            bsonType: "string",  
            description: "must be a string and is required"  
         },  
         email: {  
            bsonType : "string",  
            pattern: "@mongodb\.com$",  
            description: "must be a string and match the regular expression pattern"  
         },  
         status: {  
            enum: [ "Unknown", "Incomplete" ],  
            description: "can only be one of the enum values"  
         }  
      }  
   } }  
} )  

六、db.createView()

当我们将指定的聚合管道应用到集合时,createView 方法会为集合创建一个新视图。该方法可以在读取操作期间计算并充当只读操作。可以在源集合的同一数据库中创建视图,以作为底层聚合管道的一部分执行读取操作。

语法:

db.createView(<view>, <source>, <pipeline>, <options>)  

以下示例使用 _id、student.management 和部门字段创建 StudentFeedback 视图:

db.createView(  
   "StudentFeedback",  
   "survey",  
   [ { $project: { "management": "$Student.management", department: 1 } } ]  
)  

七、db.dropDatabase(<writeConcern>)

drop 方法删除指定的数据库和相关的数据文件。

示例:

我们使用 <database> 操作将当前数据库切换到临时数据库。我们使用 db.dropDatabase() 方法删除临时数据库:

use temp  
db.dropDatabase()  

八、db.getLogComponents()

getLog 方法返回当前的 stiltedly 设置。该方法确定MongoDB为每个日志消息组件生成的日志消息的数量。

{  
   "verbosity" : 0,  
   "accessControl" : {  
      "verbosity" : -1  
   },  
   "command" : {  
      "verbosity" : -1  
   },  
   "control" : {  
      "verbosity" : -1  
   },  
   "geo" : {  
      "verbosity" : -1  
   },  
   "index" : {  
      "verbosity" : -1  
   },  
   "network" : {  
      "verbosity" : -1  
   },  
   "query" : {  
      "verbosity" : 2  
   },  
   "replication" : {  
      "verbosity" : -1,  
      "election" : {  
         "verbosity" : -1  
      },  
      "heartbeats" : {  
         "verbosity" : -1  
      },  
      "initialSync" : {  
         "verbosity" : -1  
      },  
      "rollback" : {  
         "verbosity" : -1  
      }  
   },  
   "sharding" : {  
      "verbosity" : -1  
   },  
   "storage" : {  
      "verbosity" : 2,  
      "recovery" : {  
         "verbosity" : -1  
      },  
      "journal" : {  
         "verbosity" : -1  
      }  
   },  
   "write" : {  
      "verbosity" : -1  
   }  
}  

热门文章

优秀文章