Ошибка типа: индексы списка должны быть целыми числами или срезами, а не str pymongo

#python #list #function #pymongo

Вопрос:

Я не понимаю, почему я получаю ошибку, у меня есть младший разработчик

 club_found = collection_clubs.find_one({"club_id":club_id})
 
 if club_found:
    found_idx, user_found = False, False


    for idx, user in enumerate(club_found["users"]):
        if user["nif"] == nif:
            user_found = user
            found_idx = idx
            break

    if not user_found:
        return {"msg": " error user not found"}

    date = datetime.datetime.now()

    user_found["visits"].append(
        str(date)
    )

    token_expiration = str(date   datetime.timedelta(hours=8))
    token_data = {"token_expiration": token_expiration, "token": str(uuid.uuid4())[
        :5]}

    user_found["token_data"] = token_data

    response_data = {
        "user_id": user_found["user_id"], "token_data": token_data}

    #club_found["users"][found_idx] = user_found
 

Предполагается, что я правильно обращаюсь к словарям, но я новичок в программировании и уверен, что совершаю легкую ошибку.

Добавьте посещение пользователя в mongodb

         try:
            # error
            collection_clubs.find_one_and_update({"club_id":club_id},{"$set":{club_found["users"]["visits"]:user_found["visits"]}})```

 

Комментарии:

1. Пожалуйста, сообщите нам, на какой линии вы получаете сообщение об ошибке. Ошибка говорит вам, что вы индексируете список с переменной, которая не является целым числом или срезом. Поэтому посмотрите, где вы индексируете список, и изучите значения переменных и или тип() переменной.