MongoDB作为一种nosql的数据库,它自己本身的增伤改查还有数据库集合的创建和展示与一般的数据库较之是有一部分差别的。我们今天就来看一下MongoDB的一些基本操作。

   首先呢,就是先来数据库的创建和删除操作了。看一下实例:


> use luyaran
switched to db luyaran
> db
luyaran
>

    通过上面的代码,我们就创建了名为luyaran的数据库了,我们可以使用以下命令来查看有哪些数据库:


> show dbs
local  0.078GB
test   0.078GB
>

    是不是没有看到我们刚刚创建的数据库,嘿嘿,那是因为我们刚刚创建的数据库里面还没有什么数据呢,接下来我们可以向里面插入一些数据来展示我们刚刚创建的数据库:


> db.luyaran.insert({"name":"luyaran"})
WriteResult({ "nInserted" : 1 })
> show dbs
local   0.078GB
luyaran  0.078GB
test    0.078GB
>

        好啦,数据库在这里就创建完毕了。接下来就是要练习删除这个数据库了,语法格式如下:


db.dropDatabase()

     接下来咱们看一下实例哈,首先就是展示所有的数据库:


> show dbs
local   0.078GB
luyaran  0.078GB
test    0.078GB

     接下来我们切换到数据库luyaran:


> use luyaran
switched to db luyaran
>

     然后呢,我们就要开始执行删除命令了:


> db.dropDatabase()
{ "dropped" : "luyaran", "ok" : 1 }

     最后我们再来通过一下代码来查看数据库是否被删除:


> show dbs
local  0.078GB
test   0.078GB
>

     到这里呢,数据库的操作基本上就算是完事了,接下来就来看看集合的操作。

     首先就是创建集合,具体语法格式如下:


db.createCollection(name, options)

         上面的name呢就是集合的名称,后面的那个是个可选参数,可以用来指定内存大小和索引的选项,具体的如下:


字段

类型

描述

capped

布尔

(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。

当该值为 true 时,必须指定 size 参数。

autoIndexId

布尔

(可选)如为 true,自动在 _id 字段创建索引。默认为 false。

size

数值

(可选)为固定集合指定一个最大值(以字节计)。

如果 capped 为 true,也需要指定该字段。

max

数值

(可选)指定固定集合中包含文档的最大数量。

接下来,咱们就通过实例来感受一下:


> use luyaran
switched to db luyaran
> db.createCollection("luyaran")
{ "ok" : 1 }
>

     通过上述代码,我们就创建了luyaran的集合,我们可以通过下面的代码来查看我们创建的集合:


> show collections
luyaran
system.indexes

几个关键参数的实例,大家感受一下(创建固定集合luyaran,整个集合空间大小6142800KB,文档的最大个数为10000个):


> db.createCollection("luyran", { capped : true, autoIndexId : true, size : 
   6142800, max : 10000 } )
{ "ok" : 1 }
>

    还有一种方式可以用来创建集合,就是直接插入文档,MongoDB会自动创建,看一下实例:


> db.luyaran.insert({"name" : "luyaran"})
> show collections
luyaran
...

     集合到这里就创建的差不多了,接下来就是要尝试删除这个集合了,语法格式为:


db.collection.drop()

     删除成功后会返回true,失败则会返回false,接下来通过实例说明哈。在数据库luyaran中,我们先来查看一下所有的集合:


>use luyaran
switched to db luyaran
>show collections
luyaran
system.indexes
>

     完事呢,就直接删除集合luyaran:


>db.luyaran.drop()
true
>

    再来看一下luyaran这个数据库中所有的集合:


>show collections
system.indexes
>