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?