【问题标题】:How do I create a new database in MongoDB using PyMongo?如何使用 PyMongo 在 MongoDB 中创建新数据库?
【发布时间】:2021-10-08 19:26:26
【问题描述】:

我可以简单地通过连接到 MongoDB 服务器来创建一个新数据库,还是有其他方法可以使用 Python 创建它?如果是这样,这是怎么做的?

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    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']
    

    所以在这里您可以为数据库和集合使用任何名称。

    【讨论】:

    【解决方案2】:

    这是MongoDB 3.4版本:

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

    在您尝试之前,不会创建数据库和集合 写一个文件。

    文档:Python Driver (PyMongo)

    【讨论】:

    • 为指定 Pymongo 版本点赞 :)! Pymongo 从 2.1(上例)到 3.4 的工作方式完全不同。
    【解决方案3】:

    需要在不插入文档的情况下创建一个集合,以便能够首先设置验证器。

    幸运的是 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 版中更改:删除了不推荐使用的参数:选项

    【讨论】:

      猜你喜欢
      • 2018-08-17
      • 1970-01-01
      • 1970-01-01
      • 2020-10-31
      • 2019-09-27
      • 1970-01-01
      • 2017-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多