一点背景信息:我为每个用户都有一个文档,其中包含一个数组,其中包含与用户相关的最新 20 个事件。由于 MongoDB 没有此功能(限制文档内的数组),我将推送我的事件并弹出最新的事件。
我的问题:初始化文档(又名用空值填充数组)。我想原子地:
或
您还有其他建议吗?我想到的一个技巧是使用 :unique 和 :dropDups 声明一个索引,并始终进行初始化插入。
相关:MongoDB固定大小数组实现
单次操作还不可能。您需要 http://jira.mongodb.org/browse/SERVER-991 或 http://jira.mongodb.org/browse/SERVER-453。
您会想尝试: $setOnInsert