1. 创立自定义数据库
use databaseName
如果 databaseName 数据库不存在, 新建数据库。如果存在,则连贯该数据库。
2. 查看数据库列表
show dbs# 自带数据库admin 0.000GBconfig 0.000GBlocal 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云服务器上部署一套环境,本人练习下。