当前位置: 首页 > 面试题库 >

使用pymongo将JSON导入mongoDB

秦才
2023-03-14
问题内容

我正在尝试使用pymongo模块从URL中提取一个JSON文件并将其按原样发送到mongoDB。

我有以下代码

#!/usr/bin/env python
import sys, urllib2, json, pymongo
from pymongo import MongoClient
myurl = "https://gist.githubusercontent.com/border/775526/raw/b921df18ba00262ab5bba8cadb3c178e1f7748f7/config.json"
response = urllib2.urlopen(myurl)
data = response.read()
connection = MongoClient('mongodb://user:password@localhost.com:27017/database')
connection.database_names()
db = connection.database
posts = db.posts
post_id = posts.insert_many(data).inserted_id

执行此操作后,出现此错误,引发TypeError(“ documents must be a non-empty
list”)TypeError:文档必须为非空列表

理想情况下,我希望能够从url中提取json并更新mongoDB,因为此json文件每周都会更新。谢谢


问题答案:

您需要将JSON转换为Python对象,然后PyMongo会将其转换为BSON以发送到MongoDB。要将JSON转换为Python对象,请使用PyMongo随附的“
bson.json_util”模块:

from bson import json_util
data = json_util.loads(response.read())

标准的Python
json.loads()函数也可以使用,但是PyMongo的json_util.loads()可以更好地处理一些MongoDB特定的细节。



 类似资料:
  • 问题内容: 使用插入pandas DataFrame到mongodb的最快方法是什么? 尝试次数 给出了一个错误 给出了一个错误 给出了一个错误 df 问题答案: 我怀疑是否有 最快 和 最 简单的 方法。如果您不担心数据转换,可以 但是,如果您尝试将数据加载回,则会得到: 所以你必须将“A” columnt回S,以及所有不,或字段您。对于此示例:

  • 我知道这是一个相当普遍的问题。我正在编写一个小的Flask应用程序,并试图将一些查询反馈给视图。我已经连接到我的本地MongoDB设置,并进行了成功的查询——但我无法使用它生成json对象 我见过的最常见的解决方案是从pymongo导入json_util,即。 我已经安装pymongo到我的烧瓶虚拟环境使用pip i. e: 在运行上述代码时,我不断遇到以下错误: 我可以在pymongo-2.3-

  • 我正在尝试将收藏转储到。json文件,但在看过pymongo教程后,我找不到任何与之相关的东西。 教程链接:https://api.mongodb.com/python/current/tutorial.html

  • 问题内容: 我是一位有抱负的Java程序员,希望在项目中使用JSON。我正在遵循一个编程教程(从书​​中),该教程要求我使用以下行将JSON导入到我的项目中: 但这产生了一个错误,因此我用以下代码替换了它: 这也会产生一个(不同的)错误: 导入org.json无法解析 我认为问题是我的Eclipse工作区中实际上没有JSON库。如何执行此操作,以便可以使用JSONArray?我找到了用于JSON的

  • 问题内容: 我正在努力将数据从文件导入。 我可以使用在命令行中执行相同的操作。 我进行了很多尝试,但无法使用Java从Json文件导入。 sample.json 谢谢你的时间 〜加内什〜 问题答案: 假设您可以分别读取JSON字符串。例如,您阅读了第一个JSON文本 并将其分配给变量(字符串json1),下一步是解析它, 将所有 dbo 放入列表, 然后将它们保存到数据库中: 编辑: 在最新的Mo

  • 我目前正在使用Firebase实时数据库。我已经将JSON导入实时数据库,但由于查询的限制,我需要打开Firebase Firestore。 我想将JSON导入Firebase的云Firestore。