おさかな日誌

魚類がプログラミング

MongoDB で drop index (Ruby)

ユニーク index を削除しようと思ってメモ. 一応公式ドキュメントにもいろいろのってるけど, 名前で消せるというのを読み取るのに少し時間かかったのでメモ

with Ruby ドライバー

client = Mongo::MongoClient.new
collection = client.db("your_db").collection("your_collection")

# インデックスを追加
collection.ensure_index({"foo_id" => 1}, {"unique" => true, "dropDups" => true})

# インデックス確認
collection.index_information

# ここに実体があるみたい
client.db("your_db").collection("system.indexes")


# インデックス削除
# 上の index_information で得た name フィールドで
# 消したいインデックスを指定する
collection.drop_index(name)

というチラ裏