2011年6月1日水曜日

PyMongoでuniqueなインデックスを作成する

PyMongoでuniqueなインデックスを作成するには、以下のコードのようにunique=Trueを指定してcreate_indexを実行します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
conn.local.drop_collection("members")
col = conn.local.members
# Uniqueなインデックスを作成する
col.create_index("name", unique=True)
col.insert({"name":"robert", "age":25})
col.insert({"name":"brian", "age":25})
# キー重複をおこす
try:
 col.insert({"name":"robert", "age":21}, safe=True)
except errors.DuplicateKeyError:
 print("Duplicated Key.")
# コレクションには、2件のみが含まれる
for obj in col.find():
 print obj

補足
ubuntuで以下のコマンドでMongoDBとPyMongoのインストールができます。
sudo apt-get install mongodb
sudo apt-get install python-pymongo

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

0 件のコメント:

コメントを投稿