猫鼬货币不显示小数

时间:2017-03-18 14:40:03

标签: javascript node.js mongodb mongoose-schema

我正在尝试使用“价格”创建一个架构。使用Mongoose货币的字段并按照documentation进行操作。但是输出不显示两位小数(499而不是4.99)。如果我使用console.log打印价格,它会显示所需的结果,带有两位小数。我想知道我是否误解了关于货币的Mongoose文件,或者原因是否存在于其他地方。

这是我的架构。



var mongoose = require('mongoose');
var assert = require('assert');
var Dishes = require('./models/stackmodel');

// Connection URL
var url = 'mongodb://localhost:27017/conFusion';mongoose.connect(url);
var db = mongoose.connection;

var product = new Dishes({ price: '4.99' });

db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
  // we're connected!
  console.log("Connected correctly to server");
  
  // create a new dish
  Dishes.create({
    name: 'Uthapizza',
	price: (product.price/100).toFixed(2),  
  }, function (err, dish) {
    if (err) throw err;
    console.log('Dish created!');
    console.log(dish);
	
	console.log(typeof (product.price/100).toFixed(2));

	console.log((product.price/100).toFixed(2));
	          
	db.collection('dishes').drop(function () {
            db.close();
      });
	  });
});




这是我的模特。



var mongoose = require('mongoose');
var Schema = mongoose.Schema;
require('mongoose-currency').loadType(mongoose);
var Currency = mongoose.Types.Currency;

// create a schema
var dishSchema = new Schema({
  name: {
    type: String,
    required: true,
    unique: true
  },

  price: {
    type: Currency,
	require: true,
	min: -20000,
	max: 50000,
    default: ''
  }
});

var Dishes = mongoose.model('Dish', dishSchema);

// make this available to our Node applications
module.exports = Dishes;




这是打印输出。



C:\ass2>node stack
Connected correctly to server
Dish created!
{ __v: 0,
  name: 'Uthapizza',
  _id: 58cd3dbd4319c51264489d8d,
  price: 499 }
string
4.99

C:\ass2>




我在网上搜索过,包括在这个网站上,但到目前为止找不到任何解决方案。

我用:

  • 操作系统是Windows 7 32位
  • mongoose@4.8.6
  • 节点版本v6.10.0 在运行npm list时,我收到以下消息(我怀疑这可能是我遇到上述问题的原因):



npm ERR! extraneous: currency@3.0.0 C:\node_modules\currency
npm ERR! extraneous: mocha@3.2.0 C:\node_modules\mocha
npm ERR! extraneous: mongoose-currency@0.2.0 C:\node_modules\mongoose-currency




事先感谢。

0 个答案:

没有答案