Python 如何动态创建集合并插入json文件';s将数据输入到它们中的每一个
根据ref SO建议,我尝试将一组Json文件数据插入到单个集合中,如下所示:Python 如何动态创建集合并插入json文件';s将数据输入到它们中的每一个,python,pymongo,Python,Pymongo,根据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.js
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]
一样,每次插入数据之前,它都会创建一个新集合。感谢一位ton mate,对于任何人的参考,在将文件加载到文件后,这行数据会起作用:test=db[file\u name]