首页 > 解决方案 > 如何将 1 存储为 Double mongoose,mongodb?

问题描述

作为标题,我如何将值 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 中使用 sse,typeof 值 = Double

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

标签: node.jsmongodbmongoose

解决方案


我不确定您如何从中获取值,您可以在获取值的同时检查您的类型并首先将其更改/强制转换为 double,否则如果它是一个字符串,请将您的整数更改为,1.0而不是1在将其保存到数据库之前,通过使用:

yourValue.toFixed(2)

推荐阅读