Complexidade de tempo de $ addToset vs $ push quando o elemento não existe na Matriz

Dado: A conexão é segura = True, portanto, o retorno da atualização conterá informações de atualização.

Digamos que eu tenha um documento parecido com:

[{'a': [1]}, {'a': [2]}, {'a': [1,2]}]

E eu emito:

coll.update({}, {'$addToSet': {'a':1}}, multi=True)

O resultado seria:

{u'connectionId': 28,
 u'err': None,
 u'n': 3,
 u'ok': 1.0,
 u'updatedExisting': True
}

Mesmo quando os documentos já tiverem esse valor. Para evitar isso, eu poderia emitir um comando.

coll.update({'a': {'$ne': 1}}, {'$push': {'a':1}}, multi=True)

Qual é a Comparação de Complexidade do Tempo para $ addToSet vs. $ push com um cheque $ ne?

questionAnswers(3)

yourAnswerToTheQuestion