我想将MongoDB集合中的.json文件作为字段导入,其中导入的数据实际上可以作为带有字段标签的子文档工作。这个是可能的吗?我正在使用Django来实现我的web框架和文件上传。
现在,Django中的数据模型如下所示:
class Trip(models.Model):
name = models.CharField(max_length = 120)
file = models.FileField(upload_to = 'trips/files/', null = True, blank = True)
我希望“文件”字段是一个将子字段读入文档的.json导入;在Mongo中,数据模型将如下所示:
{
"_id": {
"$oid": "5e18e9b0593b827d141e9c6d"
},
"name": "f"
"file": {
"field1": "asdf"
"field2": 1234
"field3": {
"fieldA": "3"
"fieldB": "876"
}
}
}
其中“文件”下的字段位于导入的.json文件中。显然,真正的json会更复杂,但这只是一个简单的例子。
如果这是可能的,请让我知道,能够导入这些.jsons,并有他们在Mongo内正确处理是所有我需要能够得到我需要的运行工作。谢谢!
发布于 2020-01-15 03:35:47
PyMongo非常有用。它提供了与典型的mongo插入相同的insert_one()
函数。请查看文档here。你可能需要一个基于你的模型的函数。您还需要结合PyMongo要求才能利用这一点。
试试这个:
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})
https://stackoverflow.com/questions/59721751
复制相似问题