Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 MongoDB 数据库中有几个对象,其中_id字段被错误地分配了一个整数,我如何在 MongoDB shell 中用 ObjectId 替换这些整数?
_id
此类对象的示例如下所示:
{ "_id" : 0 }
我发现的最佳解决方案是使用分配给 的 ObjectId 值将每个对象克隆到另一个对象_id,然后删除具有整数的所有对象_id。我在shell中做了以下事情:
// $type: 16 means int32 > db.Roles.find({_id: {$type: 16}}).forEach(function (x) { x._id = ObjectId(); db.Roles.save(x); }) > db.Roles.remove({_id: {$type: 16}})