
MongoDB基础数据库集合操作
需要注意在使用方法时注意养成以下习惯:1、MongoDB的命名中严格遵守驼峰式命名2、shell命令中无法进行指令提示需要手动敲出一对括号和引号,为避免漏掉成对的符号,最好一次性敲完一对首先,启动mongo shell1 数据库操作1.1 新建数据库MongoDB中,use是集创建和切换数据库两种功能为一体的指令,若指定的数据库不存在,则创建新数据库,否则切换到指定的数据库下面创建一个新数据库db
需要注意在使用方法时注意养成以下习惯:
1、MongoDB的命名中严格遵守驼峰式命名
2、shell命令中无法进行指令提示需要手动敲出一对括号和引号,为避免漏掉成对的符号,最好一次性敲完一对
首先,启动mongo shell
1 数据库操作
1.1 新建数据库
MongoDB中,use是集创建和切换数据库两种功能为一体的指令,若指定的数据库不存在,则创建新数据库,否则切换到指定的数据库
下面创建一个新数据库db_demo
use db_demo
出现如图返回结果,数据库db_demo便已经创建完成
1.2 查看数据库
# 查看所有数据库
show dbs
# 查看当前数据库
db
从返回结果中可以看出,列出的所有数据库中并没有新建的数据库db_demo,这是由于use命令创建的数据库bd_demo存储在内存中,并且数据库中没有任何数据,因此show dbs暂时无法查看到。但是通过db能查看到当前数据库为db_demo。值得注意的是MongoDB中默认包含admin、config、local和test数据库,但是数据库test存储在内存中,同样没有任何数据,因此不被show命令显示
1.3 删除数据库
db.dropDatabase()
该命令db表示当前数据库,dropDatabase表示删除当前数据库。现在博主要删除之前创建的db_demo数据库,首先必须确保已经切换到需要删除的数据库中,具体操作如下:
2 集合操作
2.1 创建集合
创建集合有两种方式,即显式创建集合和隐式创建集合两种
# 显式创建集合
db.createCollection(collection_name,[options])
# 隐式创建集合
db.collection_name.insert(document)
db表示当前数据库,同样的在创建前也应该确保当前处于对应的数据库中;createCollection表示新建集合,collection_name参数表示集合名称,options参数表示文档,用于指定集合的配置,为可选参数。 insert为插入文档的方法,document参数表示文档,即插入的内容
capped | 布尔 | 如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 当该值为 true 时,必须指定 size 参数。 |
size | 数值 | 为固定集合指定一个最大值,即字节数。 如果 capped 为 true,也需要指定该字段。 |
max | 数值 | 指定固定集合中包含文档的最大数量。 |
2.1.1 显式创建集合
创建集合myCollection1
# 显式创建集合
db.createCollection("myCollection1")
# 查看集合
show collections
此处,博主先db查看当前数据库是否为指定数据库,然后创建指定集合并查看是否成功创建集合myCollection1
2.1.2 隐式创建集合
创建集合myCollection2
# 隐式创建集合
db.myCollection2.insert({_id:001})
show collections
在 MongoDB 中,你可以不显式的创建集合。当你插入一些文档时,MongoDB 会自动创建集合。即为隐式集合。此处创建集合myCollection2,并插入id为001的数据。关于插入具体使用,会在后文详细讲解
2.2 定长集合
2.2.1 创建定长集合
# 创建定长集合
db.createCollection(collection_name,{capped:true,size:num})
创建定长集合属于显示创建的一种,必须指定capped参数为true,并为size赋值大小。下面创建集合mycollection3,集合大小为500
db.createCollection("myCollection3",{capped:true,size:500})
2.2.2 判断定长集合
# 判断是否为定长集合
db.collection_name.isCapped()
改语法表示判断在当前数据库中的指定集合是否为定长集合。isCapped方法用于判断指定的集合是否为定长集合,返回布尔类型。下面对myCollection2和myCollection3做示范
# 判断myCollection2是否为定长集合
db.myCollection2.isCapped()
# 判断myCollection3是否为定长集合
db.myCollection3.isCapped()
结果返回如下
2.3 查看集合
# 查看当前数据库中所有集合的信息
db.getCollectionInfos()
返回结果如下
2.4 清空集合
db.collection_name.remove({})
注意此处清空{},实则清空collection_name集合下的所有文档,必须用{}进行引用(也可以单独清空某一个文档)。下面清空myCollection2集合
db.myCollection2.remove({})
show collections后发现,该集合仍存在
2.5 删除集合
db.collection_name.drop()
此处drop()为删除集合的方法。同样需要注意对应当前数据库,以及需要删除的集合collection_name
下面对myCollection2集合进行删除
db.myCollection2.drop()
返回为true即删除成功
以此促学,如有不足,烦请指出。
更多推荐










所有评论(0)