週刊人生詰んだマガジン

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

MongoDB

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

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

MongoDBで大小文字区別せずにFindしたかった

結論のコードからすると、 db.stuff.find( { foo: /^bar$/i } ); つまり正規表現の、/iをつけると大小区別なしにFindできます。 ただし、この方法には落とし穴があります。 MongoDBにインデックスされません。 ある程度な規模なサイトに適用するには良くない…