При добавлении значений в пустой массив в MongoDB, оператор `$push` не будет работать, так как по умолчанию `$push` оперирует только с существующими массивами.
Вместо этого, вы можете использовать метод `$addToSet`, чтобы добавить элементы в пустой массив. Метод `$addToSet` добавляет элементы только в том случае, если они еще не существуют в массиве. Если массив пуст, это означает, что элемент будет добавлен в массив без ограничений.
Используя ваш пример кода, вот как можно добавить значение в пустой массив:
```python
if len(row['fractions']) == 0:
collection.update_one({'_id:': member.id}, {"$set": {"fractions": [faction['_id']]}})
else:
collection.update_one({'_id:': member.id}, {"$addToSet": {"fractions": faction['_id']}})
```
В этом обновленном коде мы сначала устанавливаем пустой массив `"fractions": []` с помощью оператора `$set`, если `len(row['fractions']) == 0`. Затем, если массив уже содержит значения (не пустой), мы используем оператор `$addToSet`, чтобы добавить значение `faction['_id']` только в том случае, если его еще нет в массиве.