mongoDB3--mongoDB的基本操作。-LMLPHP 分类:
mongodb(6) mongoDB3--mongoDB的基本操作。-LMLPHP

版权声明:本文为博主原创文章,未经博主允许不得转载。

之前我们已经安装了mongodb,并使用客户端连接上了mongodb的服务端。
接下来我们学习一些简单的操作命令。

mongo入门命令
在传统关系型数据库中,我们分为一个个的库,每个库下分为一个个的表:
mongoDB3--mongoDB的基本操作。-LMLPHP
我们的mongodb也和上面一样,在数据库database下面有N多集合,每个集合
中的数据结构可以完全不同:
mongoDB3--mongoDB的基本操作。-LMLPHP

(1)查看目前所有数据库(show dbs)
我们启动mongodb客户端,使用show dbs指令,可以查看目前所有数据库:
mongoDB3--mongoDB的基本操作。-LMLPHP

(2)选择数据库(use databaseName)
我们选择local数据库:
mongoDB3--mongoDB的基本操作。-LMLPHP
使用show tables可以查看该库下有哪些表。
注意:system开头的表是系统表,不要随意操作,可能会造成数据库崩溃。

(3)查看当前库下的集合(show collections/tables)
上面使用的是show tables,这个语法是为了照顾经常使用关系型数据库的
用户,而使用show collections也是查看该库下的集合(说“表”也可以)。
mongoDB3--mongoDB的基本操作。-LMLPHP

(4)创建数据库
MongoDb的库是隐式创建,你可以use一个不存在的库,
然后在该库下创建collection,即可创建库。

(5)创建一个集合(db.createCollection('CollectionName'))
我们先创建一个库(use school学校库),
然后使用db.createCollection('CollectionName')指令,
创建一个集合(也就是关系型数据库中所说的“表”),
其中“CollectionName”是你要创建的集合的名称:
mongoDB3--mongoDB的基本操作。-LMLPHP
我们在school库中创建了一个名为student(学生)的集合。

创建Collection的意义:
对于传统关系型数据库而言,创建一张表的意义在于,界定了这张表每一行的结构,
包括应该有哪几列,数据类型是什么,全部统统界定了。
而对于mongodb这种nosql数据而言,Collection的意义何在?我们每一个Colleciton
其实就是一个大的集合,里面用来放置各种各样不同的文档数据而已。

(6)插入一条数据(db.collectionName.insert({key:value,key:value,...}))
我们在刚刚的school库的student集合中创建一条数据:
mongoDB3--mongoDB的基本操作。-LMLPHP
使用db.collectionName.find()查看该集合下的所有数据。
我们发现它自动给我们生成了一个id主键。当然,我们也可以自己制定主键:
mongoDB3--mongoDB的基本操作。-LMLPHP
也即是指定_id属性即可。

我们也可以在同一个集合下,创建含有其他字段的数据:
mongoDB3--mongoDB的基本操作。-LMLPHP
不受数据结构的束缚,这就正是mongodb的特点。

不仅可以有其他字段,还可以在某个属性中嵌套属性:
mongoDB3--mongoDB的基本操作。-LMLPHP
可以看到,jackson有一个爱好(hobby)属性,里面是一个数组,然后有一个简介(info)属性,里面有一个新的集合。这就是一个复合集合文档对象了。
注:可以通过插入一条数据,隐式创建一个Collection:

mongoDB3--mongoDB的基本操作。-LMLPHP

mongoDB3--mongoDB的基本操作。-LMLPHP

(7)删除一个collection(db.collectionName.drop())
我们这里删除我们刚刚创建的teacher这个collection
mongoDB3--mongoDB的基本操作。-LMLPHP
删除成功

(8)删除一个库(db.dropDatabase())
我们这里删除我们刚刚创建的school这个库
mongoDB3--mongoDB的基本操作。-LMLPHP

删除成功

05-06 12:08