【发布时间】:2021-10-08 19:26:26
【问题描述】:
我可以简单地通过连接到 MongoDB 服务器来创建一个新数据库,还是有其他方法可以使用 Python 创建它?如果是这样,这是怎么做的?
【问题讨论】:
我可以简单地通过连接到 MongoDB 服务器来创建一个新数据库,还是有其他方法可以使用 Python 创建它?如果是这样,这是怎么做的?
【问题讨论】:
MongoDB 会自动为您创建数据库和集合(如果它们尚不存在)。
要在 MongoDB 中使用 python 库,请查看此documentation。
警告: 该示例基于 Pymongo 2.1。 如果您使用的是 Pymongo 3.4,请查看 this doc。
from pymongo import Connection
connection = Connection()
db = connection['test-database']
collection = db['test-collection']
所以在这里您可以为数据库和集合使用任何名称。
【讨论】:
这是MongoDB 3.4版本:
from pymongo import MongoClient
client = MongoClient()
db = client.primer
coll = db.dataset
在您尝试之前,不会创建数据库和集合 写一个文件。
【讨论】:
需要在不插入文档的情况下创建一个集合,以便能够首先设置验证器。
幸运的是 pymongo 数据库对象定义了create_collection 方法:
create_collection(name, codec_options=None, read_preference=None, write_concern=None, read_concern=None, session=None, **kwargs)在这个数据库中创建一个新的集合。
通常集合创建是自动的。此方法应仅用于指定创建选项。如果集合已存在,则会引发 CollectionInvalid。
...
3.11 版更改:现在内部支持此方法 MongoDB 4.4+ 的多文档事务。
3.6 版更改:添加会话参数。
3.4 版更改:添加了排序规则选项。
在 3.0 版中更改:添加了 codec_options、read_preference 和 write_concern 选项。
在 2.2 版中更改:删除了不推荐使用的参数:选项
【讨论】: