0
我在MongoDB數據庫中有幾個對象,其中_id
字段被錯誤地分配了一個整數,我如何在MongoDB shell中用ObjectId替換這些整數?如何在MongoDB shell中將對象的_id字段的類型更改爲ObjectId?
這種對象的一個例子是這樣的:
{ "_id" : 0 }
我在MongoDB數據庫中有幾個對象,其中_id
字段被錯誤地分配了一個整數,我如何在MongoDB shell中用ObjectId替換這些整數?如何在MongoDB shell中將對象的_id字段的類型更改爲ObjectId?
這種對象的一個例子是這樣的:
{ "_id" : 0 }
我發現,最好的解決辦法是克隆每個每個對象到另一個分配給_id
一個的ObjectId值,然後刪除與所有對象整數爲_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}})
是啊,這可能是最好的辦法,當然這樣你就不得不再次寫出你不能更新'_id'領域。 – Sammaye