Сложность времени $ addToset против $ push, когда элемент не существует в массиве
Дано: Соединение безопасно = Истинно, поэтому возвращение обновления будет содержать информацию об обновлении.
Скажем, у меня есть документы, которые выглядят так:
[{'a': [1]}, {'a': [2]}, {'a': [1,2]}]
И я выпускаю:
coll.update({}, {'$addToSet': {'a':1}}, multi=True)
Результат будет:
{u'connectionId': 28,
u'err': None,
u'n': 3,
u'ok': 1.0,
u'updatedExisting': True
}
Даже когда документы приходят, они уже имеют эту ценность. Чтобы избежать этого, я мог бы дать команду.
coll.update({'a': {'$ne': 1}}, {'$push': {'a':1}}, multi=True)
Что такое сравнение временной сложности для $ addToSet с $ push с проверкой $ ne?