Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python MongoDB pymongo-更新主键_Python_Database_Mongodb_Pymongo - Fatal编程技术网

Python MongoDB pymongo-更新主键

Python MongoDB pymongo-更新主键,python,database,mongodb,pymongo,Python,Database,Mongodb,Pymongo,我有一个包含3000万数据的现有集合 目前,它的主键是defaultobjectid,但由于性能和标识问题,现在我想给它添加另一个主键 我的研究提出了一个解决方案,用一个新的主键重新删除和插入数据 我找不到关于简单地向现有数据库添加新主键的任何其他信息,想知道pymongo中是否没有这个功能 我担心整个操作会引起问题,因为数据库太大,很难恢复。MongoDB没有“主键”的概念 每个文档必须设置_id字段,并且_id值在集合中必须是唯一的。你不能改变这种行为 您可以添加额外的唯一索引,但它们不会取

我有一个包含3000万数据的现有集合

目前,它的主键是defaultobjectid,但由于性能和标识问题,现在我想给它添加另一个主键

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

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


我担心整个操作会引起问题,因为数据库太大,很难恢复。

MongoDB没有“主键”的概念

每个文档必须设置_id字段,并且_id值在集合中必须是唯一的。你不能改变这种行为

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


您甚至在关系意义上也误用了“主键”概念。一个表中只能有一个主键,因此不能“添加”主键。

perfect-清除了这些概念。非常感谢。