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
}
}
热门文章
优秀文章