使用 mongoose 在 mongoDB 集合中保留单个文档

Sab*_*iRh 6 mongoose mongodb

我创建了一个集合,但其中应该保留一个文档。如何确保 mongoose 模式中有单个文档?

lib*_*bik 6

您可以创建“上限”集合,在其中可以设置可以存储在其中的文档限制。

但是,它不会阻止添加另一个文档(不确定,如果您需要该功能) - 如果您添加另一个文档,旧的文档将被删除。

db.createCollection('mycappedcol',{capped: true, size:999999, max:1})
Run Code Online (Sandbox Code Playgroud)

此外,您无法从上限集合中删除文档,只能用新文档替换它们或删除整个集合。

PS:在上限集合中,您必须指定以字节为单位的大小,这也是一个限制(集合不能大于指定的大小)。如果您不关心大小,但只关心限制,则只需将大小设置得足够大即可。

  • 不要将大小设置得太高:“创建上限集合时,您必须指定集合的​​最大大小(以字节为单位),MongoDB 将为集合预先分配该大小” (6认同)