需要注意在使用方法时注意养成以下习惯:

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参数表示文档,即插入的内容

options可选参数
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即删除成功

以此促学,如有不足,烦请指出。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐