MongoDB数据集合操作-集合的查看、创建、重命名、删除

 2016年01月13日    14385     声明


在MongoDB中,集合(collection)是一组文档(document)的集合。集合类似于关系型数据库中表的概念,但相比表集合结构更为灵活,相同集合中的文档结构可以是不一样的。


  1. 查看数据库中的集合
  2. 创建集合
  3. 集合的重命名
  4. 集合的删除


1. 查看数据库中的集合

查看数据库的集合使用show collections命令。

>show collections
teams
users
……

某些关系型数据库中,查询所有表的命令show tables,在MongoDB也可以用来查看集合。

>show tables
teams
users
……

db.getCollectionNames()用查看文档中所有集合的名称,其返回值是一个数组:

> db.getCollectionNames()
[
	"teams",
	"users",
	……
]

如果需要查看单个集合,可以使用 db.getCollection("NAME")命令:

> db.getCollection("users")
newDB.users


集合中文档的查询请参考:MongoDB文档查询


2. 创建集合

2.1 createCollection()方法创建集合

创建集合使用createCollection()方法,该方法语法结构如下:

db.createCollection(name, options)
  • name,String,要创建的集合名
  • options,Document,可选。创建集合的选项
    • capped,Boolean,可选。如果为true,则启用限制集合。限制集合是固定大小的集合,会达到其最大值时,自动覆盖最早的文档。如果指定true,则需要也指定size参数
    • autoIndexID,Boolean,可选。如果为true,自动创建索引_id字段的。默认值是false。
    • size,number,可选。表示限制集合的大小,capped参数为true时,需要设置此参数
    • max,number,可选。表示限制集合允许的最大文档数。

例如,使用createCollection()创建student集合:

> db.createCollection("student")
{ "ok" : 1 }


2.2 insert()方法自动创建集合

MongoDB可以在集合未创建的情况下,直接使用insert()方法插入数据。插入数据时,如果集合还未创建,会自动创建该集合:

> db.sites.insert({name:"itbilu.com"})
WriteResult({ "nInserted" : 1 })
> show collections
sites
student
teams
users
……


3. 集合的重命名

集合的重命名使用renameCollection方法。

db.COLLECTION_NAME.renameCollection("NEW_NAME")

如,将student重命名为students

> db.student.renameCollection("students")
{ "ok" : 1 }
> show collections
sites
students
teams
users
……


4. 集合的删除

drop()方法用于从数据库中删除集合。

db.COLLECTION_NAME.drop()

如,删除students集合:

> db.students.drop()
true
> show collections
sites
teams
users
……