紧急警报:MongoDB Compass

在特定条件下,使用 MongoDB Compass 进行更新或删除可能会发生在预期之外的文档上

我们在 MongoDB Compass 中发现了一个错误,在特定条件下,通过 Compass 对文档进行修改或删除可能会发生在预期之外的文档上。有关更多信息,请参阅下方的“影响”部分。

受影响的 MongoDB Compass 版本从 1.3 到包括 1.11.1(稳定版本)以及包括 1.12.0-beta.4 在内的所有测试版本。

Compass 1.11.2(稳定版本)包括对此问题的修复,可在 MongoDB 下载中心 下载,并且通过 Compass 内置的自动更新功能获取。所有运行受影响版本的 MongoDB Compass 用户应立即升级以避免此问题。

影响

我们确定了一个错误,当存在具有相同 _id 的文档在不同集合中时,修改或删除文档可能会发生预期之外的文档上。由于这种冲突,可能发生用户数据的损坏或丢失。

受此问题影响的情况有:

  • 他们运行 Compass 版本 1.3.x 及更高版本,并且
  • 他们有两个(或更多)集合中的文档具有相同的 _id 并且
  • 他们在同一个 Compass 会话中查看、更新或删除了这些文档

补丁

Compass 1.11.2(稳定版本)包括对此问题的修复,可在 MongoDB 下载中心 下载,并且通过 Compass 内置的自动更新功能获取。

解决方案

此问题没有解决方案。所有运行受影响版本的用户应升级以确保不受影响。