#python #python-3.x #mongodb #discord.py
#python #python-3.x #mongodb #discord.py
Вопрос:
Каждая попытка извлечь информацию из базы данных о пользователе возвращается None
.
Мой код:
@bot.command()
async def warnings(ctx, user:discord.Member = None):
client = MongoClient('connection')
db = client.gettingStarted
collection = db.Warning
if user == None:
await ctx.send('Please give a valid user')
else:
x = collection.find_one({"id":f"{user.id}"})
print(x)
В чем может быть проблема?
Ответ №1:
Попробуйте изменить
x = collection.find_one({"id":f"{user.id}"})
Для
x = collection.find_one({"id": user.id})
Дайте мне знать, если это не сработало.
Комментарии:
1. Какова интуиция, стоящая за этим предложением?
2. @SimasJoneliunas при использовании f string вы меняете значение на строку, поэтому он ищет «id» с помощью string, когда значение в mongodb является целым числом. Таким образом, в основном x вернет None, потому что db не может найти «id» со строкой значения: user.id .