更改 MongoDB 集合的主键?
mongodbdatabasebig data analytics更新于 2026/1/9 2:07:17
要更改主键,您需要先删除它。使用 forEach() 和 delete 函数可以删除主键,然后获取新的主键。让我们创建一个包含文档的集合 −
> db.demo41.insertOne({"StudentName":"Carol"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e25ce4acfb11e5c34d898e3")
}
使用 find() 方法显示集合中的所有文档 −
> db.demo41.find();
将产生以下输出 −
{ "_id" : ObjectId("5e25ce4acfb11e5c34d898e3"), "StudentName" : "Carol" }
以下是更改 MongoDB 集合主键的查询 −
> var next = db.demo41.find()
>
> next.forEach(function(s) {
... var prevId=s._id;
... delete s._id;
... db.demo41.insert(s);
... db.demo41.remove(prevId);
... });
让我们再次检查主键 −
> db.demo41.find();
这将产生以下输出,显示一个新的主键 −
{ "_id" : ObjectId("5e25cee5cfb11e5c34d898e4"), "StudentName" : "Carol" }

