我的某些文档中有一些字段应该是ObjectId,但是是字符串。
所以我需要一个mongo脚本来将所有这些字符串字段转换为ObjectId。
我的收藏集:
[
{
"_id": ObjectId("5dcaafcaeaec3701a2774d48"),
"cover_id": ObjectId("5dcaafcceaec3701a2774d4b")
},
{
"_id": ObjectId("5dcaafe2eaec3701a2774d72"),
"cover_id": "5dcaafcfeaec3701a2774d51"
}
]
我当前的mongo脚本是:
var bulk = db.product2.initializeUnorderedBulkOp();
bulk.find({}).update([
{
$set: {
cover_id: {
$cond: {
if: { $type: "string" } ,
then: {$convert: { input: "$cover_id", to: "objectId" }},
else: "$a"
}
}
}
}
]);
bulk.execute();
但我遇到此错误:
“代码”:241,“ errmsg”:“在$ convert中不支持从onObject到objectId的转换,没有onError值”