Я использую pymon go, и у меня есть коллекция пользователей. Экземпляр пользователя выглядит примерно так:
user = {"Email":"user@gmail.com" , "Comments":["Good" , "Bad" , " Very bad "] }
Я пытаюсь удалить элементы в поле Comments [] по индексу (например, index = 0 удалить «Хорошо»). Я установил комментарий, индекс которого такой же, как введите номер в «удалено», а затем я его вытаскиваю. Однако, поскольку я повторяю массив комментариев [] для определенного c пользователя, я получаю сообщение об ошибке
pymongo.errors.WriteError: Cannot create field 'i+1' in element
, и я не понимаю, почему . Мой код:
comment_num = int(comment_num) #an index I have as input
exists = False #we will check if index exists in list
for i , value in enumerate(usr['Comments']):
if i+1 == comment_num: #if index is comment_num
print("Comment number exists")
exists = True
#I get the error here
users.update_one({"Email":email} , {"$set" : {"Comments.i+1" : "deleted" } } )
users.update_one({"Email":email} , {"$pull":{"Comments":"deleted" }})
elif i+1 == len(usr['Comments']) and exists == False:
print('Comment does not exist') #if index not found
Буду признателен за вашу помощь в решении этой ошибки. Заранее спасибо