MST

星途 面试题库

面试题:MongoDB中固定集合的创建方式及基础配置

请描述在MongoDB中如何创建一个固定集合,并说明固定集合相比普通集合在配置上的主要区别,例如文档数量限制、大小限制等相关配置如何设置?
11.5万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

创建固定集合

在MongoDB中,可以使用以下方式创建固定集合:

db.createCollection("myFixedCollection", {capped: true, size: 100000, max: 1000})

上述代码中,myFixedCollection 是集合名称,capped: true 表示创建的是固定集合,size 用于指定集合的最大大小(单位为字节),max 用于指定集合中最大的文档数量。

与普通集合配置的主要区别

  1. 文档数量限制
    • 固定集合:可以通过 max 选项设置集合中允许存储的最大文档数量。例如上面代码中的 max: 1000 表示该固定集合最多存储1000个文档。
    • 普通集合:没有直接的文档数量限制配置,理论上可以存储无限数量的文档,仅受可用磁盘空间限制。
  2. 大小限制
    • 固定集合:通过 size 选项设置集合的最大大小(字节数)。当达到这个大小后,新插入的文档会覆盖最早插入的文档。例如 size: 100000 表示集合最大为100000字节。
    • 普通集合:没有预定义的大小限制,会随着文档的插入持续增长,直到磁盘空间耗尽。
  3. 插入顺序与访问顺序
    • 固定集合:按照插入顺序存储文档,并且访问时也按此顺序。这种特性使得固定集合在需要按插入顺序处理数据(如日志记录)时非常有用。
    • 普通集合:文档存储顺序不固定,访问顺序也不由插入顺序决定。
  4. 自动删除旧文档
    • 固定集合:当达到 sizemax 限制时,会自动删除旧的文档以腾出空间给新文档。
    • 普通集合:不会自动删除文档,除非手动执行删除操作。