Złożoność czasowa $ addToset vs $ push, gdy element nie istnieje w macierzy
Biorąc pod uwagę: Connection is Safe = True, więc powrót aktualizacji będzie zawierał informacje o aktualizacji.
Powiedz, że mam dokumenty, które wyglądają tak:
[{'a': [1]}, {'a': [2]}, {'a': [1,2]}]
I wystawiam:
coll.update({}, {'$addToSet': {'a':1}}, multi=True)
Wynik byłby:
{u'connectionId': 28,
u'err': None,
u'n': 3,
u'ok': 1.0,
u'updatedExisting': True
}
Nawet gdy przychodzą dokumenty już mają tę wartość. Aby tego uniknąć, mogę wydać polecenie.
coll.update({'a': {'$ne': 1}}, {'$push': {'a':1}}, multi=True)
Jakie jest porównanie złożoności czasu dla $ addToSet vs. $ push z $ ne sprawdzeniem?