首页 > 解决方案 > 如何在mongodb的创建和删除过程中确保最小值?

问题描述

考虑:

  1. Summary具有minimum_score属性的架构
  2. PersonRecord具有score属性的架构
  3. 单个Summary文档应包含minimum_score所有PersonRecord文档。

在事务中完成以下两个操作:

  1. PersonRecord在集合中插入新文档
  2. 使用更新Summary文档的minimum_score属性{ $min: personRecord.score }

但是,还有另一个要求是允许一个人删除他的PersonRecord文档。因此,请考虑以下场景:

  1. 所有的人都删除了他们的PersonRecord文件
  2. 一个人删除了他的PersonRecord文档,而另一个人正在插入一个新文档。

如果我们总是希望minimum_score在文档中具有正确的值,我们如何处理 mongodb (mongoose) 中的场景Summary

我能想到的实现这一点是使用最终一致性原则。还有其他方法吗?

标签: javascriptmongodbmongoose

解决方案


推荐阅读