首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在mongodb集合中导入json?

在mongodb集合中导入json?
EN

Stack Overflow用户
提问于 2020-01-13 18:00:25
回答 1查看 133关注 0票数 2

我想将MongoDB集合中的.json文件作为字段导入,其中导入的数据实际上可以作为带有字段标签的子文档工作。这个是可能的吗?我正在使用Django来实现我的web框架和文件上传。

现在,Django中的数据模型如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class Trip(models.Model):
    name = models.CharField(max_length = 120)
    file = models.FileField(upload_to = 'trips/files/', null = True, blank = True)

我希望“文件”字段是一个将子字段读入文档的.json导入;在Mongo中,数据模型将如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "_id": {
        "$oid": "5e18e9b0593b827d141e9c6d"
    },
    "name": "f"
    "file": {
        "field1": "asdf"
        "field2": 1234
        "field3": {
            "fieldA": "3"
            "fieldB": "876"
        }
    }
}

其中“文件”下的字段位于导入的.json文件中。显然,真正的json会更复杂,但这只是一个简单的例子。

如果这是可能的,请让我知道,能够导入这些.jsons,并有他们在Mongo内正确处理是所有我需要能够得到我需要的运行工作。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-01-15 03:35:47

PyMongo非常有用。它提供了与典型的mongo插入相同的insert_one()函数。请查看文档here。你可能需要一个基于你的模型的函数。您还需要结合PyMongo要求才能利用这一点。

试试这个:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import pymongo

client = pymongo.MongoClient("localhost:27017")
db = client.your_database #Database
col = db.your_collection #Collection

class Trip(models.Model):
    name = models.CharField(max_length = 120)
    file = models.FileField(upload_to = 'trips/files/', null = True, blank = True)

    def insert_into_collection(self):
        col.insert_one({'uploaded_file':file})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59721751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文