サンプルコードはGolangのmgoです。
例えばユーザーをフォローする等の処理をするときに
Update(bson.M{"_id": fromOID}, bson.M{"$push": bson.M{"following": toOID}})
とかすると、2度目も同じObject IDがPushされる。は?俺は元マクドナルド店員やぞ
$addToSetを使おう。
Update(bson.M{"_id": fromOID}, bson.M{"$addToSet": bson.M{"following": toOID}})