在 MongoDB 集合中更改主键?
要更改主键,您需要先删除它。使用 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" }
广告