Не удается извлечь информацию из MongoDB

#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 .