我刚注意到,只要使用预定义变量在MongoDB中保存任何内容,数据类型就会从Number和Boolean更改为String
Orders = new Mongo.Collection("Orders");
Orders.update({_id:"12345"},{$set:{price:5.5}) //this works
var price = {price: 5.5};
Orders.update({_id:"12345"},{$set:price}); //this is not working anymore in the mongo collection price is saved as String "5.5" not as a number, same goes for Boolean values
最近有什么人可以帮助我吗?更改整个应用程序以使用第一种方法不是解决方案,因为我的代码生成了数千个更新,之前完美运行。
答案 0 :(得分:0)
在声明变量时可以尝试这个:
var price = {price: Number(5.5)};
Orders.update({_id:"12345"},{$set:price});
通过这种方式,我认为它确保5.5在尝试更新相关数据时确实是一个数字。对于布尔值,您可以使用Boolean(true)
,我猜