【问题标题】:How I can store 1 as a Double mongoose, mongodb?如何将 1 存储为 Double mongoose,mongodb?
【发布时间】:2019-07-12 17:03:58
【问题描述】:

作为标题,如何将值 1 存储为 Double 值?

我正在使用 'mongoose-double' 来支持 Schema 类型,但它不起作用。

下面是例子:

const mongoose = require('mongoose');
require('mongoose-double')(mongoose);

const Double = mongoose.Schema.Types.Double;

const user = new mongoose.Schema({
  name: String,
  value: Double,
});

mongoose.model('User', user);

当我用 value = 1 保存用户时

const user = new User({ name: 'Jack', value: 1 });

我在 mongodb 中看到,typeof value = int32

当我使用 value = 1.142 保存用户时

const user = new User({ name: 'Jack', value: 1.142 });

我在 mongodb 中,typeof value = Double

我该如何解决?我想typeof值只有Double

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    我不知道你是如何获得你的价值观的, 您可以在获取值的同时检查您的类型并首先将其更改/强制转换为 double,否则,如果它是一个字符串,请将您的整数更改为 1.0 而不是 1,然后再将其保存到您的数据库中,使用:

    yourValue.toFixed(2)
    

    【讨论】:

    • 天哪!我尝试了yourValue.toFixed(2),但在 mongodb 中,类型已被解析为字符串。 parseFloar(1.toFixed(2)) => 回到 int32
    猜你喜欢
    • 2011-10-29
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2016-04-07
    • 2020-02-03
    • 1970-01-01
    • 2015-01-25
    相关资源
    最近更新 更多