MongoDB 常用命令总结

MongoDB 常用命令总结

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()

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,639评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,093评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,079评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,329评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,343评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,047评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,645评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,565评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,095评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,201评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,338评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,014评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,701评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,194评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,320评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,685评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,345评论 2 358

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 31,943评论 2 89
  • NoSql数据库优缺点 在优势方面主要体现在下面几点: 简单的扩展 快速的读写 低廉的成本 灵活的数据模型 在不足...
    dreamer_lk阅读 2,735评论 0 6
  • 简介 MongoDB 是一个基于分布式文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WE...
    大熊_7d48阅读 37,228评论 1 9
  • 每个时节都有每个时节该了解的养生知识,只有懂得这些知识,并真正的去做了,才算得上养生。养生其实是一件非常细致的...
    生活百科报阅读 277评论 0 0
  • 很多年前 我们不认识鲁迅和他的作品 很多年后 我们居然成了他笔下的润土 一路上 你也默默 我也无语 风在我们之间 ...
    whun阅读 234评论 0 0