gpt4 book ai didi

javascript - 强制 MongoDB 文档中的 Javascript 数字加倍?

转载 作者:太空宇宙 更新时间:2023-11-04 02:41:46 27 4
gpt4 key购买 nike

我想将任意 Javascript 对象保存到 MongoDB 文档中,但我希望数据库中的所有数字均为 Double 类型。所有不是数组或对象的字段都将是字符串或数字。

例如:

{ "things": [ 1.0, 1.1, [ { "item": 6 }, 5.5, "test" ] ],
"other things": { "thing": 2.0, "other thing" : [ 4.4, 5.0 ] },
"another thing": 6.0 }
}

nodejs-mongodb-native 驱动程序将它可以保存的数字(例如 5.0)保存为 Int32。

我可以通过将数字替换为 Double 对象来强制数字为 double :

var mongo = require('mongodb');
new mongo.Double(number);

有没有比递归遍历整个 Javascript 对象更好的方法来完成此任务用 mongo.Double 对象替换每个数字?

最佳答案

您不必在整个代码中用 mongo.Double 替换变量。当您创建存储在数据库中的文档时,这样做就足够了。使用对象关系映射框架也可以帮助您实现这一点。

当您想要将 Javascript 对象存储在数据库中并且没有对象的中间数据库版本时,您可以创建一个包装函数将对象保存到 MongoDB,该函数创建对象的深拷贝,但将源文档中的所有整数存储在目标文档中的 mongo.Double 中。然后目标文档将保存到数据库中。

关于javascript - 强制 MongoDB 文档中的 Javascript 数字加倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14382346/

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