Python 如何根据特定文档中字段中的值设置变量?[PyMongo]
继续 现在这一切都很好,我遇到了另一个问题。我现在试图从一个特定文档的字段中获取一个值[该文档与运行该命令的用户共享相同的id],但是当运行该命令时,它a)从第一个文档中提取,而不是从与用户共享id的文档中提取,B)只输出如下内容-{“u id”:012345678987654321,“inv”:{inv1':'N/a'} 我的代码:Python 如何根据特定文档中字段中的值设置变量?[PyMongo],python,mongodb,discord.py,pymongo,Python,Mongodb,Discord.py,Pymongo,继续 现在这一切都很好,我遇到了另一个问题。我现在试图从一个特定文档的字段中获取一个值[该文档与运行该命令的用户共享相同的id],但是当运行该命令时,它a)从第一个文档中提取,而不是从与用户共享id的文档中提取,B)只输出如下内容-{“u id”:012345678987654321,“inv”:{inv1':'N/a'} 我的代码: if conn.mydb.mycol.count_documents({ '_id': userID }): inventory1 = conn.mydb
if conn.mydb.mycol.count_documents({ '_id': userID }):
inventory1 = conn.mydb.mycol.find_one({}, {'inv': {'inv1':1}, '_id' : userID})
await ctx.send(inventory1)
我如何才能进行A)从正确的文档中提取它,以及B)将inv1值设置为一个变量,然后输出?再次感谢您的帮助。查找一个()的第一个参数是过滤器;第二个参数是投影(返回哪些字段)。因此,一个良好的开端是:
inventory1 = conn.mydb.mycol.find_one({'_id' : userID}, {'inv': 1})
谢谢你的帮助!这样就可以得到正确的文档,而不仅仅是最上面的文档。我现在唯一的问题是它输出整个库存,而不仅仅是inv1中的变量。我怎样才能得到变量呢?抱歉给您带来不便。只需更改筛选器即可,即
{'inv.inv1':1}