Сложность времени $ 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?

Ответы на вопрос(3)

Ваш ответ на вопрос