Подготовьте определение обновления заранее.Например, предположим, что a
имеет это значение:
a = {
'name': 'John'
}
Затем определите обновление так, чтобы оно содержало только поля из a
, которые вас интересуют (и которые присутствуют в a
):
update = {
'name': a.get('name'),
'lastname': a.get('lastname')
...
}
update = {k: v for k, v in update.items() if v is not None}
Теперь выполните обновление:
b.update_one(
{"_id": xyz},
{"$set": update}
)