如何在mongo数据库中插入列表和python字典?

hmmo2u0o  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(173)

我正在制作一个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中,其他内容没有任何变化。你能纠正我哪里错了吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题