週刊人生詰んだマガジン

フリーランスフロントエンドエンジニアTinyKittenのブログ

MongoDBでユニークに$pushしたいときは$addToSetを使おう

サンプルコードは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}})