Use Decimal for mongo and mongoose

Use Decimal128 mongo's type instead mongoose-double package. Mongodb will be store decimal values as NumberDecimal, not as string.
This commit is contained in:
Nikolay 2017-12-23 22:50:10 +03:00
parent 7c3aaf691b
commit e48b10c98e
2 changed files with 6 additions and 4 deletions

View File

@ -5,11 +5,14 @@
*/ */
module.exports = mongoose => { module.exports = mongoose => {
require('mongoose-double')(mongoose);
require('mongoose-float').loadType(mongoose); require('mongoose-float').loadType(mongoose);
const SchemaTypes = mongoose.Schema.Types; const SchemaTypes = mongoose.Schema.Types;
SchemaTypes.Decimal.prototype.cast = function (value) {
return value.toString();
};
return { return {
convertType: mongooseType => { convertType: mongooseType => {
switch (mongooseType.toLowerCase()) { switch (mongooseType.toLowerCase()) {
@ -22,9 +25,9 @@ module.exports = mongoose => {
case 'biginteger': case 'biginteger':
return 'Number'; return 'Number';
case 'float': case 'float':
return SchemaTypes.Float; return 'Float';
case 'decimal': case 'decimal':
return SchemaTypes.Double; return 'Decimal';
case 'date': case 'date':
case 'time': case 'time':
case 'datetime': case 'datetime':

View File

@ -17,7 +17,6 @@
"dependencies": { "dependencies": {
"lodash": "^4.17.4", "lodash": "^4.17.4",
"mongoose": "^4.11.10", "mongoose": "^4.11.10",
"mongoose-double": "0.0.1",
"mongoose-float": "^1.0.2", "mongoose-float": "^1.0.2",
"pluralize": "^6.0.0", "pluralize": "^6.0.0",
"strapi-utils": "3.0.0-alpha.7.2" "strapi-utils": "3.0.0-alpha.7.2"