我正在制作一个python脚本,在mongo数据库中插入一些数据。我有以下以python列表和字典形式存储的数据:
url=[]#此列表将包含随机url
关键字=[]#这基本上是一个单词列表(没有重复)
keyword_freq={}#这是一个包含关键字及其频率的字典
我已经处理了一个文本文件来产生这3个项目。我现在想要的是在mongo数据库中插入/更新它们。
以下是我在脚本开始时构建mongo集合的方式: collection.insert_one({'url_list': [], 'topics': [], 'frequencies': {}})
我想将“url”中的url插入到“url\u list”文档中,以便在插入后“url\u list”文档中没有重复的url,“keywords”中的单词再次插入“topics”文档,不要重复,我想将“keywords\u freq”字典中的关键字与其频率一起插入“frequencies”文档,但如果它们已经存在于文档中,我想增加它们的频率。
这是我写的代码:
# Add urls to Mongo DB
for url in urls:
collection.update_one({}, {"$addToSet": {"url_list": url}})
# Add keywords with frequencies to Mongo DB
if not bool(keywords_freq):
for keyword in keywords_freq:
collection.update_one({}, {
"$addToSet": {
"topics": keyword
},
"$inc": {
"frequencies": {
f"{keyword}": int(keywords_freq[keyword])
}
}
},
upsert=True)
在运行脚本之后,只有url被插入到db中,其他内容没有任何变化。你能纠正我哪里错了吗?
暂无答案!
目前还没有任何答案,快来回答吧!