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

问题描述 投票:0回答:2

一点背景信息:我为每个用户都有一个文档,其中包含一个数组,其中包含与用户相关的最新 20 个事件。由于 MongoDB 没有此功能(限制文档内的数组),我将推送我的事件并弹出最新的事件。

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

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

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

您还有其他建议吗?我想到的一个技巧是使用 :unique 和 :dropDups 声明一个索引,并始终进行初始化插入。

相关:MongoDB固定大小数组实现

mongodb data-modeling database nosql
2个回答
1
投票

0
投票

您会想尝试: $setOnInsert

© www.soinside.com 2019 - 2024. All rights reserved.