【问题标题】:Expire a document from a collection in MongoDB only if a condition is fulfilled仅当满足条件时才使 MongoDB 中的集合中的文档过期
【发布时间】:2023-03-11 03:35:01
【问题描述】:

我一直在寻找如何使 MongoDB 集合中的文档过期(我使用的是 mongoose 和 node.js)并找到了 TTL 索引选项。

就我而言,我并不总是希望使文档过期,只有在文档中的状态元素具有批准/拒绝值的情况下才会有条件地过期。

我的用例是我有一个需要批准或拒绝的 /proposal/1 元素,与此同时,文档中的状态值为“审核中”。我不想让具有此状态的文件过期,而只想让那些已经被批准或拒绝的文件过期?

当状态更改为已批准/拒绝时,是否可以通过架构或向文档添加额外内容来实现这一点?

干杯, 黛博拉

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    添加另一个字段,其值仅针对您要过期的那些文档设置,然后在该字段上添加一个 TTL 索引。

    或者,如果 TTL 索引使相应字段中没有值的文档立即过期,则将此新字段中的值设置为远在未来的时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 2021-12-07
      • 1970-01-01
      • 2018-06-03
      相关资源
      最近更新 更多