MongoDB 数据库命令
MongoDB数据库命令用于创建、修改和更新数据库。
db.adminCommand(cmd)
adminCommand()方法在admin数据库中运行指定的数据库命令,提供一个辅助程序。
命令:参数可以是文档形式或字符串形式。如果命令被定义为字符串,则不能包含任何参数。
示例:
在admin数据库上创建一个名为JavaTpoint的用户,并赋予dbOwner角色。
db.adminCommand(
{
createUser: "JavaTpoint",
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方法主要用于在命令中首次引用集合时创建带有特定选项的新集合。
例如 - 我们将创建一个名为javaTpoint的集合,并使用JSON模式验证器。
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>)
下面的示例创建了一个名为StudentFeedback的视图,包含了_id、student.management和department字段:
db.createView(
"StudentFeedback",
"survey",
[ { project: { "management": "Student.management", department: 1 } } ]
)
输出:
db.dropDatabase(<writeConcern>
)
删除指定的数据库及其关联的数据文件。
例如 –
我们使用<database>
操作将当前数据库切换到临时数据库。我们使用db.dropDatabase()方法来删除临时数据库。
use temp
db.dropDatabase()
db.getLogComponents()
getLog方法返回当前的僵硬设置。该方法确定每个日志消息组件由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
}
}