按照這裏的建議MongoDB: How to change the type of a field?我嘗試更新我的集合以更改字段類型及其值。MongoDB將字符串類型轉換爲浮點類型
這裏是更新查詢
db.MyCollection.find({"ProjectID" : 44, "Cost": {$exists: true}}).forEach(function(doc){
if(doc.Cost.length > 0){
var newCost = doc.Cost.replace(/,/g, '').replace(/\$/g, '');
doc.Cost = parseFloat(newCost).toFixed(2);
db.MyCollection.save(doc);
} // End of If Condition
}) // End of foreach
上述查詢完成後,當我運行以下命令
db.MyCollection.find({"ProjectID" : 44},{Cost:1})
我仍然有Cost
字段作爲字符串。
{
"_id" : ObjectId("576919b66bab3bfcb9ff0915"),
"Cost" : "11531.23"
}
/* 7 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0916"),
"Cost" : "13900.64"
}
/* 8 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0917"),
"Cost" : "15000.86"
}
我在這裏做錯了什麼?
下面是示例文件
/* 2 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0911"),
"Cost" : "$7,100.00"
}
/* 3 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0912"),
"Cost" : "$14,500.00"
}
/* 4 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0913"),
"Cost" : "$12,619.00"
}
/* 5 */
{
"_id" : ObjectId("576919b66bab3bfcb9ff0914"),
"Cost" : "$9,250.00"
}
@chridam請使用此{ 「_id」:ObjectId(「576919b66bab3bfcb9ff0915」), 「成本」:「$ 11,531。23「 } – HaBo
@ user3100115更新了示例文檔 – HaBo