Получение "TypeError: update_one () получил несколько значений для ключевого аргумента 'upsert'" для запроса на обновление поля в под-документе.Что я не так делаю? - PullRequest
0 голосов
/ 26 сентября 2018
coll.update_one({'topic.items.item_id': item_id},{'$set':{'topic.$[i].$[j].isAuthorized': True}},{'$arrayFilters': [{'i.topic_name': topic_name},{'j.item_id': item_id}]},upsert=False)

Мне нужно обновить поле в поддокументе, которое находится в массиве поддокументов.

Моя схема

{
    "_id": '',
    "author": {
        "provider": "",
        "user_id": "",
        "email": "",
        "name": ""
    },
    "topic": [
        {
            "items": [
                {
                    "isAuthorized": false,
                    "item_name": "In Madrid",
                    "downvotes": [],
                    "topic_name": "Shakira Concert",
                    "downvotesCount": 0,
                    "item_author_name": "Author 1",
                    "upvotesCount": 0,
                    "item_id": "71x0k4",
                    "upvotes": [],
                    "_id": "71x0k4"
                }
            ],
            "name": "Shakira Concert",
            "author": "Author 1"
        }
    ]
}
...