如何使用 pymongo 将 mongodump 导入我的本地 mongodb 数据库?

问题描述

我有一个来自 mongodb 云的 mongodump。它在我的电脑本地可用。现在我想创建一个新的 mongdb 数据库。并使用查询在本地访问文件。为此我使用了 pymongo。这是我的代码

    import pymongo
    client = pymongo.MongoClient('mongodb://localhost:27017')
    database = client['db_name']
    mongorestore -d db_name adress_of_mongodump
    //mongorestore -d database C:\Users\Lenovo\Documents\home\ubuntu\dump2020

但我无法访问 mongodump。而是在 mongorestore 上出现语法错误

解决方法

pymongo 不包含 mongorestore 功能。如果你想从 python 运行它,你必须将 mongorestore 安装到机器上,并使用 subprocess.run() 命令执行它;类似:

import subprocess

address_of_mongodump = 'c:/address_of_mongodump'
command = ['mongorestore','--uri','mongodb://localhost:27017',f'--archive={address_of_mongodump}']

subprocess.run(command,capture_output=True)