在GridFS中,您不是要删除/删除单个文档,而是实际上要删除一堆文档(文件分为多个块,每个块都是一个单独的文档)。这意味着根本不可能以原子方式替换文件。
您可以做的是:
- 插入一个具有新名称的新文件
- 发生这种情况之后(使用已 确认副本的复制 关注),将所有对旧文件的引用更新为指向新文件
- 确认后,您可以删除旧文件
GridFS是一种hackish功能。通常最好只使用带有真实文件系统的单独文件服务器来存储文件内容,并且仅将元数据存储在MongoDB中。

在GridFS中,您不是要删除/删除单个文档,而是实际上要删除一堆文档(文件分为多个块,每个块都是一个单独的文档)。这意味着根本不可能以原子方式替换文件。
您可以做的是:
GridFS是一种hackish功能。通常最好只使用带有真实文件系统的单独文件服务器来存储文件内容,并且仅将元数据存储在MongoDB中。