gpt4 book ai didi

javascript - Mongodb 将字符串解析为十进制/ float

转载 作者:行者123 更新时间:2023-11-30 10:08:27 25 4
gpt4 key购买 nike

我是 mongoDB 的新手。我将数据作为字符串获取,但我想将其解析为 decimal/float。我发现制作了这段代码,但它似乎不起作用。这是我的代码,它将 - 替换为 00,* 替换为“”,并将其解析为 float 。它没有错误,但 parseFloat(doc).toFixed(2)

db.behuizingen.find().forEach(function(doc)
{
var price = doc.Prijs.replace('€', ''); // it may be vary for your other document
price = price.replace('-', '00');
price = price.replace('*', '');
doc.Prijs = Number(price);
parseFloat(doc).toFixed(2)

db.behuizingen.update({_id : doc._id} , doc;
})

提前致谢。

最佳答案

你做错了。先转换,shell的Number()函数与它无关。所以替换那行继续:

doc.Prijs = parseFloat(parseFloat(price).toFixed(2));
db.moederborden.update({_id : doc._id} , doc );

但也要小心。 .update() 的第二个参数的用法将用 doc 的内容“替换”整个文档。

您可能想这样做:

doc.Prijs = parseFloat(parseFloat(price).toFixed(2));
var update = { "$set": {} };

Object.keys(doc).each(function(key) {
update["$set"][key] = doc[key];
});

db.moederborden.update({_id : doc._id} , update );

它使用 $set运算符,以便在写入数据库时​​不会覆盖未在 doc 对象中引用的任何现有值。

关于javascript - Mongodb 将字符串解析为十进制/ float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27861586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com