为什么Mongoose模式类型为double,但是在插入值时,mongo中的类型为int32?

时间:2019-07-12 04:34:55

标签: mongodb mongoose

我正在使用mongoose-double为猫鼬定义Double类型。 我的架构包含值属性是Double的数组。

在预保存中间件中,init值是一个包含6个项1000的数组。 签入mongo,1000类型为int32

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

const Double = mongoose.Schema.Types.Double;

const test = new mongoose.Schema({
   values: [Double]
})

test.pre('save', function(next) {
   this.values = new Array(6).fill(1000),
})

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好吧,我认为您不需要使用Double。

据我所知,猫鼬模式中存在“数字”类型,可以是双精度,数字等。

因此,使用数字而不是双。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    // other preparations

    let transition: CATransition = CATransition()
    transition.duration = 0.3
    transition.type = CATransitionType.fade
    navigationController?.view.layer.add(transition, forKey: nil)
}

但是在您的情况下,您应该这样使用。

const test = new mongoose.Schema({
   values:Number
})