MongoDB create_collection() 函数详解
在 MongoDB 中,collection 相当于关系型数据库中的 table,在使用之前需要先创建,而 create_collection()
函数可以用来实现创建 MongoDB 中的集合。
函数定义
在官方文档中,create_collection()
函数的定义如下:
db.create_collection(name, **kwargs)
其中,name
是要创建的集合名称,**kwargs
参数是可选的,可以包含以下属性:
- capped: 当值为
True
时,表示创建的集合是固定大小的,创建大小需要额外的参数:size
和max
。 - size: 表示创建固定大小集合时的空间大小,单位为字节。
- max: 表示固定大小集合中包含文档的最大数量。
当 create_collection()
函数成功返回时,将返回一个类似 pymongo.collection.Collection
的对象。
使用方法
下面是一个简单的命令行交互,展示如何创建集合的过程:
mongo
> use mydb
> db.createCollection("mycollection")
{ "ok" : 1 }
在 Python 代码中使用 create_collection()
函数,需要先导入 PyMongo 库,然后通过 MongoClient
连接 MongoDB,最后使用 create_collection()
函数创建集合。
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydb"]
collection = db.create_collection("mycollection")
在创建固定大小集合时,可以使用以下代码片段指定大小和最大值:
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client.test
if "mycappedcollection" not in db.list_collection_names():
db.create_collection("mycappedcollection", capped=True, size=10000, max=5)
collection = db["mycappedcollection"]
实例说明
1. 简单创建集合
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client["mydb"]
collection = db.create_collection("mycollection")
通过运行以上代码,将在 MongoDB 数据库 mydb
中创建一个名为 mycollection
的新集合。
2. 创建固定大小集合
import pymongo
client = pymongo.MongoClient("mongodb://localhost:27017/")
db = client.test
if "mycappedcollection" not in db.list_collection_names():
db.create_collection("mycappedcollection", capped=True, size=10000, max=5)
collection = db["mycappedcollection"]
在该示例代码中,如果 MongoDB 数据库 test
中不存在 mycappedcollection
这个集合,则使用 create_collection()
函数创建这个集合,并设置了属性 capped=True
表示这是一个固定大小的集合,属性 size=10000
表示该固定大小集合的初始大小为 10000 字节,max=5
表示该固定大小集合中包含的文档数量不超过 5。最后,我们将返回的集合对象赋值给变量 collection
,进而进行下一步操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MongoDB的create_collection()函数:创建一个新的集合 - Python技术站