关于数据库:MongoDB-常用命令总结

41次阅读

共计 2089 个字符,预计需要花费 6 分钟才能阅读完成。

1. 创立自定义数据库

use databaseName

如果 databaseName 数据库不存在, 新建数据库。如果存在,则连贯该数据库。

2. 查看数据库列表

show dbs
# 自带数据库
admin   0.000GB
config  0.000GB
local   0.000GB

如果数据库中没有内容,则不会显示该数据库。

3. 统计数据库信息

db.stats()
# 抉择 test 数据库
use test
# 统计数据库信息
db.stats()
{
        "db" : "test",          # 零碎自带测试数据库
        "collections" : 0,      # 汇合数量
        "views" : 0,            # 
        "objects" : 0,          # 文档对象的个数, 所有汇合的记录数之和
        "avgObjSize" : 0,         # 均匀每个对象的大小, 通过 dataSize / Objects 失去
        "dataSize" : 0,         # 以后库所有汇合的数据大小
        "storageSize" : 0,       # 磁盘存储大小
        "numExtents" : 0,        # 所有汇合的扩大数据量统计数
        "indexes" : 0,            # 已建设索引数量
        "indexSize" : 0,        # 索引大小
        "fileSize" : 0,            #
        "fsUsedSize" : 0,        #
        "fsTotalSize" : 0,        #
        "ok" : 1
}

4. 删除数据库

db.dropDatabase()
db.dropDatabase()   # 执行删除
{"ok" : 1}          # 返回 

生产环境下,不能轻易应用该命令。一旦执行,个别状况下具备不可恢复性。

5. 查看以后数据库下的汇合名称列表

db.getCollectionNames()
db.getCollectionNames()
[] 

6. 查看数据库用户角色权限

show roles
# 显示 test 数据库的所有角色权限
show roles
{
        "role" : "dbAdmin",                # 数据库治理角色, 执行数据库治理相干操作性能
        "db" : "test",            
        "isBuiltin" : true,                # 内置角色
        "roles" : [ ],                    # 搁置用户角色、权限等信息
        "inheritedRoles" : []}
{
        "role" : "dbOwner",                # 提供数据库任何治理操作性能, 此角色 \
                                        # 汇合了 readWrite, dbAdminhe userAdmin
                                        # 角色赋予的权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : []}
{
        "role" : "enableSharding",        # 提供分片操作权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : []}
{
        "role" : "read",                 # 次要提供自定义业务数据库读权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : []}
{
        "role" : "readWrite",            # 次要提供自定义业务数据库读写权限
        "db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : []}
{
        "role" : "userAdmin",            # 提供在以后数据库上创立和批改角色和用户的性能。# 因为该角色容许操作员向任何用户授予任何权限,# 该角色还间接地提供对数据库的超级用户(root)# 的拜访权限。"db" : "test",
        "isBuiltin" : true,
        "roles" : [ ],
        "inheritedRoles" : []}

理论生产环境下,执行 show roles 命令,取得的信息会有所变动。

7. 创立汇合 (插入多条见阐明)

db.tableName.insert()
# 如果汇合存在, 插入文档。如果不存在,创立汇合并插入文档
db.collectionName.insert(
    {
        name: "Mr.Z",
        age: 12
    }
)
# 插入胜利提醒
WriteResult({"nInserted" : 1})

如果汇合存在, 插入文档。如果不存在,创立汇合并插入文档

插入多条文档

db.collectionName.insert(

​ [

​ {

​ item: “item_1”,

​ price: 12

​ },

​ {

​ item: “item_2”,

​ price: 15

​ }

​ ]

)

8. 显示汇合内容

db.collectionName.find()
db.collectionName.find()
{"_id" : ObjectId("5ba121d82288bab8681b83c5"), 
    "name" : "Mr.Z", 
    "age" : 12 
}

insert 命令,主动产生一个 _id 值。

insert 命令能够用 save 命令代替。若给 save 命令指定 _id 值,则会更新默认的 _id 值,如

db.collectionName.save(

​ {

​ _id: 1000,

​ isOk: “OK”

​ }

)。

9. 删除汇合内容

db.collectionName.remove()
# 按条件删除
db.collectionName.remove({"name": "zs"})

10. 查看数量

db.collectionName.find().count()

想要练习的小伙伴能够在 3A 云服务器上部署一套环境,本人练习下。

正文完
 0