MongoDB 2.4 では Capped Arrays が導入されました:
http://docs.mongodb.org/manual/release-notes/2.4/#limit-number-of-elements-in-an-array
次のドキュメント構造を考慮します (ネストされた配列を使用):
thread {
"_id" : ObjectId("5191039d48ef54c24a000002"),
"messages" : [
{"content" : "hello", "sent_at": "ISODate("2013-05-13T15:15:44.162Z")},
{"content" : "hi again", "sent_at": "ISODate("2013-05-13T15:15:48.162Z")}
]
}
新しい capped array 機能を使用して、新しいメッセージ (たとえば 51 番目) が追加されたときに最も古いメッセージを削除するにはどうすればよいですか?
つまり、ネストされた配列「メッセージ」を 50 項目に制限するにはどうすればよいですか?