MongoDB:使用不同的值进行upsert以进行更新和插入

时间:2010-12-24 10:27:25

标签: mongodb data-modeling database nosql

一点上下文:我为每个用户提供了一个文档,其中包含一个包含与用户相关的最新20个事件的数组。由于MongoDB没有此功能(用于封装文档中的数组),我将推送我的事件并弹出最新的事件。

我的问题:初始化文档(也就是用空值填充数组)。我想原子地说:

  • 创建包含20个空值的数组的文档,如果文档不存在,则按一个值

  • 更新文档(在数组中按下一个值),如果文档存在

你还有其他建议吗?我想到的一个hack就是声明一个索引:unique和:dropDups,并且总是进行初始化插入。

相关:MongoDB fixed size array implementation

1 个答案:

答案 0 :(得分:1)