python - 如何使用 Python 将 JSON 文件导入 MongoDB

标签 python json python-3.x mongodb

我有这个 JSON 文件,currencies.json:

{
    "AUD": 1.5978,
    "BGN": 1.9558,
    "BRL": 4.0726,
    "CAD": 1.5868,
    "CHF": 1.1703,
    "CNY": 7.7975,
    "CZK": 25.405,
    "DKK": 7.4478,
    "GBP": 0.87285,
    "HKD": 9.6889,
    "HRK": 7.4398,
    "HUF": 312.9,
    "IDR": 16993.0,
    "ILS": 4.2984,
    "INR": 80.255,
    "ISK": 122.1,
    "JPY": 129.74,
    "KRW": 1330.3,
    "MXN": 22.88,
    "MYR": 4.8365,
    "NOK": 9.5715,
    "NZD": 1.7024,
    "PHP": 64.64,
    "PLN": 4.2262,
    "RON": 4.663,
    "RUB": 70.539,
    "SEK": 10.194,
    "SGD": 1.6216,
    "THB": 38.495,
    "TRY": 4.888,
    "USD": 1.2346,
    "ZAR": 14.52
}

Python 中的这种连接:

from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client['countries_db']
collection_currency = db['currency']

我的数据库名称是 countries_dbcurrency 集合。 有没有办法使用 python 将文件导入数据库?
感谢您的帮助。

最佳答案

您可以使用 insert_one 从文件中读取数据并将其插入到集合中方法:

import json
from pymongo import MongoClient

client = MongoClient('localhost', 27017)
db = client['countries_db']
collection_currency = db['currency']

with open('currencies.json') as f:
    file_data = json.load(f)

# if pymongo < 3.0, use insert()
collection_currency.insert(file_data)
# if pymongo >= 3.0 use insert_one() for inserting one document
collection_currency.insert_one(file_data)
# if pymongo >= 3.0 use insert_many() for inserting many documents
collection_currency.insert_many(file_data)

client.close()

关于python - 如何使用 Python 将 JSON 文件导入 MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49510049/

相关文章:

python-3.x - python3.6安装uwsgi报错centos

python - 将 Pygame 模拟保存为 mp4 文件

json - 在单元测试中打印 Jersey JSON

javascript - 如何从 JS 对象获取前 5 个属性?

java - 当值为日期时,如何使用 Java 在 JSON 字符串中添加引号

python - dict.get(x,y) 总是计算右边的参数

python - len(browser.find_elements_by_class_name ('foo' )) 给出 0

python - Pygame 中的 Sprite 碰撞检测不起作用

python - 是否可以使用 pandas.DataFrame.rolling 且步长大于 1?

python - 使用 LinkedBrush gridplot 在 Bokeh 中绘制多个系列