我需要用 MongoDB 集合实现 FIFO 逻辑:
- 从 MongoDB 集合中弹出第一个文档。
- 将文档推送到 MongoDB 集合并将其作为最后一个文档放置。
集合中的文档除了自动生成的 _id (ObjectId) 之外没有任何索引。
我想知道,是否可以从集合中找到并删除第一个文档并保证推送和弹出操作将作为 FIFO 堆栈原子地执行?
我知道可以通过原子推送和弹出操作来处理文档内的数组,但主要问题是如果我将所有数据存储在 1 个文档的数组中,它的大小将超过 16MB(MongoDB 的最大允许大小文档)
提前致谢, 瓦伦丁