Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何根据特定文档中字段中的值设置变量?[PyMongo]_Python_Mongodb_Discord.py_Pymongo - Fatal编程技术网

Python 如何根据特定文档中字段中的值设置变量?[PyMongo]

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

继续

现在这一切都很好,我遇到了另一个问题。我现在试图从一个特定文档的字段中获取一个值[该文档与运行该命令的用户共享相同的id],但是当运行该命令时,它a)从第一个文档中提取,而不是从与用户共享id的文档中提取,B)只输出如下内容-{“u id”:012345678987654321,“inv”:{inv1':'N/a'}

我的代码:

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}