Python Pymongo如何查看文档是否已存在多个键

Python Pymongo如何查看文档是否已存在多个键,python,pymongo,Python,Pymongo,我很难看到文档中的多个键是否与用户提供的内容对齐。用户可以在pymongo中创建文档,但是如果已经存在具有相同键、值的文档,那么我希望它更新现有文档 这是我添加新项目的代码: async def create_new_shop(用户id、金额、价格、商品): 等待python\u bot.insert\u one({“\u id”:user\u id,“item”:item,“price”:price,“amount”:amount}) 这是我的代码,用于检查它是否已经存在(我只需要_id和项

我很难看到文档中的多个键是否与用户提供的内容对齐。用户可以在pymongo中创建文档,但是如果已经存在具有相同键、值的文档,那么我希望它更新现有文档

这是我添加新项目的代码:

async def create_new_shop(用户id、金额、价格、商品):
等待python\u bot.insert\u one({“\u id”:user\u id,“item”:item,“price”:price,“amount”:amount})
这是我的代码,用于检查它是否已经存在(我只需要_id和项目):

异步定义检查项目存在(用户id,项目):
check=python\u bot.find\u one({'$和':[{{“\u id”:user\u id},
{“项目”:项目}]})
打印(支票)
退货支票不是无
每当我收到打印支票时:

<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/asyncio/futures.py:384]>


感谢您的帮助。如果您需要更多信息,我可以提供。

使用启用了
upsert=True
选项的
update\u one
方法

thon_bot.update_one({
     "_id": user_id,
}, {
     "$set": {
          "item": item, 
          "price": price, 
          "amount": amount
     }
}, upsert=True)
这将根据传递的
用户id
值进行更新,如果文档不存在,则插入