MongoDB:mongodb的固定集合

x33g5p2x  于2022-03-04 转载在 Go  
字(0.8k)|赞(0)|评价(0)|浏览(505)

MongoDB:mongodb的固定集合

一、简介

一般情况下我们创建的集合是没有大小的,可以一直往里边添加文档,这种集合可以动态增长,MongoDB中还有一种集合叫做固定集合,这种集合的大小是固定的,我可以在创建的时候设置该集合中文档的数目,假设为100条,当集合中的文档数目达到100条时,如果再向集合中插入文档,则只会保留最新的100个文档,之前的文档则会被删除。

一般像日志信息我们就可以使用固定集合,其他一些需要定期删除的数据也可以使用固定集合,本文我们就来看看这个固定集合的使用。

二、创建

示例:

db.createCollection("my_collect",{capped:true,size:10000,max:100})

参数解析:

  • my_collect:集合名称
  • capped:true :表示该集合为一个固定大小集合
  • size:集合的大小,单位为kb
  • max:max则表示集合中文档的最大数量

我们这里相当于给了固定集合两个限制条件,只要有任意一个限制条件满足,集合都会开始将更古老的数据删除。固定集合一旦创建成功就不能再修改,想修改只能删除重来

将一个普通集合变成一个固定集合:

db.runCommand({convertToCapped:"sang_collect",size:10})

三、自然排序

自然排序就是按照文档在磁盘中的顺序来进行排列,在普通集合中是没有太大意义的,因为文档的位置是一直在变化的,而固定集合中的文档是按照文档被插入的顺序保存的,自然顺序也就是文档的插入顺序

旧到新排序:

db.sang_collect.find().sort({$natural:1})

新到旧排序:

db.sang_collect.find().sort({$natural:-1})

相关文章