根据ref SO建议,我尝试将一堆Json文件数据插入到单个集合中,如下所示:
import json
import pymongo
client = pymongo.MongoClient('mongodb+srv://********:*******@cluster0-kb3os.mongodb.net/test?retryWrites=true&w=majority')
db = client['mydb']
test = db['test']
然后我将json文件作为a.json,b.json,....,z.json插入所有这些到单个集合,我这样做是这样的:
file_names = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
json_file_names=[x + '.json' for x in file_names]
for file_name in json_file_names:
with open(file_name,encoding="utf8") as f:
file_data = json.load(f)
for word in file_data:
word_obj = file_data[word]
test.insert_one(word_obj)
查询涉及特定信件记录的结果时,我想最好有一个单独的集合,这也可能会提高性能,而不是搜索整个集合。
我一直在研究如何动态创建集合,以使每个集合都说a_col
有a.json
插入的数据,b_col
具有b.json
........。
有没有办法这样创建?,任何指导性链接或摘录作为答案将大有帮助,TIA
在读取每个文件后,在for循环中添加与您的文件名对应的集合名。就像test = db[filename]
它每次插入数据之前都会创建一个新集合。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句