2011年5月8日日曜日

gmongoで配列フィールドの最後から値を削除する

gmongoで配列フィールドの最後から値を削除するには、以下のコードのように$popを使用します。

@Grab(group='com.gmongo', module='gmongo', version='0.7')
import com.mongodb.*
import com.gmongo.*

mongo = new GMongo("192.168.1.25", 27017)
db = mongo.getDB("local")
db["unique_user"].drop()
col = db["unique_user"]
// コレクションにオブジェクトを挿入する
col.insert([site:"Site_A", unique_user:100,
tags:["foods","recipe"]])
col.insert([site:"Site_B", unique_user:500,
tags:["news", "programming"]])
col.insert([site:"Site_C", unique_user:1000])
// 配列フィールドの最後から値を削除
col.update([site:"Site_B"],
['$pop':["tags":1]])
// 全てのデータを表示
for(obj in col.find()){
println obj
}

動作環境
Groovy 1.7.8, JDK6 Update24, gmongo 0.7

関連情報
gmongoのウェブサイト
https://github.com/poiati/gmongo
groovyとMongoDBのまとめ

0 件のコメント:

コメントを投稿