【发布时间】:2018-01-31 01:17:09
【问题描述】:
我的mongodb中的“products”集合如下:
{
"_id" : ObjectId("5a67755082edf74a06fc92c9"),
"productName" : "Printer",
"productId" : "5a677550d3a2246da136f294"
},
{
"_id" : ObjectId("6a67755082edf74a06fc92cd"),
"productName" : "Scanner",
"productId" : "5a688550d3a2246da136f297"
}
现在,我正在尝试在整个产品集合中将 productId 字段的值从 String 更新为 ObjectId。这样输出应该如下所示:
{
"_id" : ObjectId("5a67755082edf74a06fc92c9"),
"productName" : "Printer",
"productId" : ObjectId("5a677550d3a2246da136f294")
},
{
"_id" : ObjectId("6a67755082edf74a06fc92cd"),
"productName" : "Scanner",
"productId" : ObjectId("5a688550d3a2246da136f297")
}
我曾尝试使用以下查询
db.products.find().forEach( function(myDoc) { db.products.update("productId", {$set:{"productId": ObjectId(myDoc.productId)}})} );
但是,我面临以下错误:
E QUERY [thread1] Error: invalid object id: length :
谁能帮我解决这个问题...
【问题讨论】:
标签: mongodb