您可以使用capped collection來實現此目的。在mongo
殼的一個例子:
db.createCollection('capped', {capped: true, size: 100000, max: 3})
將創建一個名爲capped
加蓋收集,用的100000個字節的最大尺寸,並且將包含最多3個文件的。插入新文檔時,最舊的文檔將被刪除。
> db.capped.insert({_id: 1, name: 'John', message: 'Hi'})
> db.capped.insert({_id: 2, name: 'John', message: 'Hey'})
> db.capped.insert({_id: 3, name: 'John', message: 'Hello'})
> db.capped.find()
{ "_id" : 1, "name" : "John", "message" : "Hi" }
{ "_id" : 2, "name" : "John", "message" : "Hey" }
{ "_id" : 3, "name" : "John", "message" : "Hello" }
當你插入一個新的文檔:
> db.capped.insert({_id: 4, name: 'John', message: 'howdy'})
> db.capped.find()
{ "_id" : 2, "name" : "John", "message" : "Hey" }
{ "_id" : 3, "name" : "John", "message" : "Hello" }
{ "_id" : 4, "name" : "John", "message" : "howdy" }
最老的文檔從集合自動刪除。同樣的:
> db.capped.insert({_id: 5, name: 'John', message: 'hello'})
> db.capped.find()
{ "_id" : 3, "name" : "John", "message" : "Hello" }
{ "_id" : 4, "name" : "John", "message" : "howdy" }
{ "_id" : 5, "name" : "John", "message" : "hello" }
欲瞭解更多信息,請參閱Capped Collections page。