Python Mongodb和Discord.py collection.update_one(update)name错误:name';更新';尝试更新mongodb集合时未定义

Python Mongodb和Discord.py collection.update_one(update)name错误:name';更新';尝试更新mongodb集合时未定义,python,database,mongodb,discord,discord.py,Python,Database,Mongodb,Discord,Discord.py,我一直在尝试使用discord.py创建一个简单的discord机器人,我也开始使用mongodb来存储数据,并在我的笔记本电脑关机时让我的机器人保持在线。我在下面发布的代码中的目标是,当任何人键入单词“python”时,它都会返回单词“accepted”。但是,当我运行此代码时,它会显示错误: collection.update_one(update) NameError: name 'update' is not defined 这个问题底部显示的代码是我试图让它工作的代码,我以前

我一直在尝试使用discord.py创建一个简单的discord机器人,我也开始使用mongodb来存储数据,并在我的笔记本电脑关机时让我的机器人保持在线。我在下面发布的代码中的目标是,当任何人键入单词“python”时,它都会返回单词“accepted”。但是,当我运行此代码时,它会显示错误:

collection.update_one(update)    
NameError: name 'update' is not defined
这个问题底部显示的代码是我试图让它工作的代码,我以前曾向人们寻求过帮助,这就是DuplicateKeyError部分的来源。在添加之前,数据库不会更新,并且每当在公会中使用python这个词时,都会显示一个重复的键错误。这个错误消息仍然显示,但是现在它被作为一个异常处理:(下面显示的错误消息,我用user_ID替换了实际的用户ID。)

主要错误来自line collection.update\u one,因为它表示未定义更新

@client.event
async def on_message(ctx): 
  print(f"{ctx.channel}: {ctx.author}: {ctx.author.name}: {ctx.content}")
  if "python" in str(ctx.content.lower()):
    post = {"_id": ctx.author.id, "score": 1}
    try:
        collection.insert_one(post)
    except DuplicateKeyError:
        collection.update_one(update)
    await ctx.channel.send('accepted!')

在此方面的任何帮助都将不胜感激。提前感谢

更新
未定义

@client.event
async def on_message(ctx): 
  print(f"{ctx.channel}: {ctx.author}: {ctx.author.name}: {ctx.content}")
  if "python" in str(ctx.content.lower()):
    post = {"_id": ctx.author.id, "score": 1}
    try:
        collection.insert_one(post)
    except DuplicateKeyError:
        collection.update_one(update)
    await ctx.channel.send('accepted!')
是的

collection.update\u one({“\u id”:ctx.author.id},
{“$set”:{“分数”:10})
第一对大括号用于查找文档,第二对大括号用于设置新值,您可以使用该值查找一个,然后只需为分数添加一个值。

简易方法:

find = {"_id": str(id)}
setdata = {"$set": {"hello": "one"}}
collection.update_one(find, setdata)