Det ligner $addToSet gør det samme som din kommando:$push med en $ne check . Begge ville være O(N)
https://github.com/mongodb /mongo/blob/master/src/mongo/db/ops/update_internal.cpp
hvis hastighed er virkelig vigtig, hvorfor så ikke bruge en hash:
i stedet for:
{'$addToSet': {'a':1}}
{'$addToSet': {'a':10}}
brug:
{$set: {'a.1': 1}
{$set: {'a.10': 1}