MongoDB pymongo - 更新主键

MongoDB pymongo - update primary key

我有一个包含 30m 数据的现有集合。

目前,它的主键是默认的 ObjectId,但由于性能和识别问题,现在我想为其添加另一个主键。

我的研究提出了一种使用新主键重新删除和插入数据的解决方案。

我找不到关于简单地向现有数据库添加新主键的任何其他信息,想知道这是否在 pymongo 中不可用?

我担心整个操作会出现问题,因为数据库很大而且很难恢复。

MongoDB没有“主键”的概念。

每个文档都必须设置 _id 字段,并且 _id 值在集合中必须是唯一的。您无法更改此行为。

您可以添加额外的唯一索引,但它们不会取代刚才概述的 _id 要求。

即使在关系意义上,您也误用了“主键”概念。 table中只能有一个主键,因此无法“添加”主键。