如何使用PyMongo在MongoDB中创建一个新数据库?

omjgkv6w  于 2022-12-18  发布在  Go
关注(0)|答案(4)|浏览(135)

我可以通过连接到MongoDB服务器来创建一个新的数据库吗?或者有其他方法可以使用Python来创建它?如果可以,是如何实现的?

xqk2d5yq

xqk2d5yq1#

MongoDB会自动为您创建数据库和集合(如果它们还不存在)。

要在MongoDB中使用python库,请查看**documentation**。

警告:这个例子是基于Pymongo2.1的。如果你使用的是Pymongo3.4,选中**this doc**。

from pymongo import Connection
connection = Connection()
db = connection['test-database']
collection = db['test-collection']

因此,在这里您可以使用任何名称的数据库和收集。

6jjcrrmo

6jjcrrmo2#

这是Mongodb 3.4版本:

from pymongo import MongoClient
client = MongoClient()
db = client.primer
coll = db.dataset

在您尝试写入文档之前,不会创建数据库或集合。
文件:Python Driver (PyMongo)

aurhwmvo

aurhwmvo3#

需要在不插入文档的情况下创建集合,以便能够首先设置验证器。
幸运的是,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中的变更:已删除不推荐使用的参数:期权

3pmvbmvn

3pmvbmvn4#

对于pymongo==4.3.3

from pymongo import MongoClient

client = MongoClient()
print(client.list_database_names())
db = client["new_db"]
collection = db["new_collection"]
print( db.list_collection_names())

数据库和集合将仅在尝试写入文档时创建。

相关问题