MongoDB 创建 Database 和 Collection

在开始使用MongoDB(Version:3.2.9)之前,必须首先在MongoDB中创建 Database 和 Collection。Database是相互独立的,每个Database都有自己的Collections,不同的database中,可以存在名字相同的collection,但是Database不是物理存储单位,MongoDB以Collection为物理存储单位,每个collection都有自己的数据文件和index文件,这些文件以 .wt 结尾。

一,创建Collection

1,查看当前database中的collection列表

show collections

2,隐式创建Collection

在MongoDB中,Collection相当于关系型数据库的Table,用户不需要显式定义Collection就能向Collection插入数据。在第一次向Collection插入数据时,MongoDB会自动创建Collection;如果Collection已经存在于Database中,那么MongoDB直接向Collection中插入数据。

db.foo.insert({_id:1,name:"test"})

3,显式创建Collection

使用 db.createCollection() 显式创建Collection,通过指定Collection Option,创建特定用途的Collection。

Because MongoDB creates a collection implicitly when the collection is first referenced in a command, this method is used primarily for creating new collections that use specific options.

例如,创建固定集合(Capped Collection),普通集合能够自动增长以容纳更多的doc,但是固定集合有最大的size,容纳的doc不能超过限制(max选项)。

db.createCollection("log", { capped : true, size : 5242880, max : 5000 } )

4,删除collection,调用collection的drop方法删除collection

db.collection_name.drop()

二,创建database

1,查看MongoDB的database列表

show dbs

查看当前连接所在的Database

db

2,使用use 命令创建database

use my_database_name

MongoDB返回以下信息,use 命令只是向MongoDB注册database,并没有实际的创建使用show dbs 查看,列表中没有该database。

switched to db my_database_name

3,在当前database中创建collection,并向集合中插入数据

db.foo.insert({_id:1,name:"test"})

此时,MongoDB真正创建database,查看存储数据的folder,发现多了两个.wt文件,一个用于存储数据,一个用于存储index。使用show dbs 查看,列表中存在该database。

三,删除database

删除database时,必须十分小心,除非用于测试环境,否则,不要轻易使用这个命令

1,使用use命令,切换到指定的database

use database_name

2,使用db命令,查看当前database,避免删错

db

3,删除当前database

db.dropDatabase()

更多MongoDB相关教程见以下内容

CentOS 编译安装 MongoDB与mongoDB的php扩展

CentOS 6 使用 yum 安装MongoDB及服务器端配置

Ubuntu 13.04下安装MongoDB2.4.3

MongoDB入门必读(概念与实战并重)

Ubunu 14.04下MongoDB的安装指南

《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]

Nagios监控MongoDB分片集群服务实战

基于CentOS 6.5操作系统搭建MongoDB服务 uxidc.com/Linux/2014-11/108900.htm

MongoDB 的详细介绍请点这里
MongoDB 的下载地址请点这里

参考文档:

db.createCollection()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/25cb58d67d6b638f739150b7baeed631.html